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
comandoVer 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
# 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) . ' ';
*/
?>
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