Cliente PHP webservice Axis2, wsdl


Cliente PHP webservice Axis2 , wsdl
 
Aunque el servidor web fue declarado e instalado en tomcat (jsp) con
procedimientos en java , el siguiente cliente funciona en PHP, haciendo
muy fácil la integración de dos plataformas enteramente distintas.

Todo el proceso esta implementado bajo el soporte de las librerias
para el manejo de web service Axis2 nusoap , yo las descargue
del siguiente sitio.

http://sourceforge.net/projects/nusoap/

Recuerde descomprimir las librerías que usualmente esta en formato
zip y colocarlas en el punto donde se esta desarrollando el script PHP

La implementacion de este script en un CMS basado en PHP, no debería
generar ninguna complicación, de la misma forma como se implemento
el script para java en CMS basados en java como opencms , que se trato
anteriormente en este blog

Como se puede ver todo el proceso de integracion consta de 6 lineas de
comando

Ver el siguiente link para la implementacion de un servidor y cliente Axis2 en java.
http://cac9999.blogspot.com/2011/08/instalar-axis2-en-linux-y-y-tomcat.html

yo ejecute to el script de Demo.php, en consola mediante el comando:

# php -f  demo.php


<?php


 /*
       Script demo.php de uso de un cliente Axis2 en PHP
*/

    include_once("lib/nusoap.php");          //Incluimos la libreria nusoap
                                                                // para el manejo del web service

    /* Definimos el host del web service  */

    $wsdl      = "http://www.misitio.com/axis2/services/prueba?wsdl";

/*
  Instanciamos el objeto y  el segundo parámetro       dice que                   utilizaremos la descripción wsdl

*/

    $client    = new nusoap_client($wsdl, true);  


    $err = $client->getError();
    if ($err) {
                   echo 'Constructor error ' . $err . ' ';
                  }

    /*
           Definición de variables de integración Stub, recordemos que
.          axis2 re-define los parámetros de los bean , como una secuencia

           del tipo args0,args1...
    */

    $parametros = array(
                         'args0' => 'PRUEBA SAS',
                         'args1' => '900123123',
                         'args2' => '0705',
                         'args3' => 'ABCD123456',
  .
                       ) ;

     /*
        Define el procedimiento setVenta del stuff y le pasa los parametros
        setVenta es el procedimiento definido en el web service que va a
        recibir los parámetros declarados en el arreglo
    */

      $result = $client->call("setVenta", array($parametros));

     /*  Imprime el resultado de la gestión del web service en result */

     echo 'Resultado :'      ;
     print_r($result)          ;


/*
       Las siguientes instrucciones permiten la depuración de  
       código PHP , no olvidar comentar en el script final

*/

/*
echo ' ' . htmlspecialchars($client->request,ENT_QUOTES)   . ' ';
echo ' ' . htmlspecialchars($client->response,ENT_QUOTES)  . ' ';
echo ' ' . htmlspecialchars($client->debug_str,ENT_QUOTES) . ' ';
*/

?>

Comentarios

  1. Mil gracias por el ejemplo Decime si el WebService tiene seguridad usuario y password como le pasas los parametros de los mismos?? muchas gracias

    ResponderEliminar

Publicar un comentario

Entradas populares