Jan
19
2009

Como crear servidor y cliente web service SOAP en PHP NuSOAP con archivo adjunto

ntroducción a SOAP:

“SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por David Winer en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros y está actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web.” by Wikipedia

Para PHP existen algunas librerías para SOAP, actualmente una de las más utilizadas es NuSOAP porque es más madura con respecto al resto pero sólo soporta SOAP 1.1, sin embargo, existen otras librerías somo:

– Extensión SOAP para PHP5  (reciente agregada de dentro de php5)

– Pear SOAP (PHP5 y PHP4)

– WSO2 (reciente con buen futuro)

– NuSOAP (PHP5 y PHP4) ya no está muy mantenida porque cumple su propósito específicamente para SOAP 1.1, no soporta 1.2, pero actualmente la mayoría de los servicios están en SOAP 1.1, también se debe considerar que las nuevas librerías no soportan a la versión 1.1 sino desde 1.2 en adelante, por lo que es conveniente realizar una revisión acerca de cuales serán los servicios a los cuels me voy a conectar o a qué tipos de cliente voy a servir.

NuSOAP

NuSOAP está basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1.

Archivo servidor.php

register('holaMundo');
 
//implementamos la función
function holaMundo ($name){
return "Bienvenido $name.";
}
 
//llamamos al método service de la clase nusoap
$server- >service($HTTP_RAW_POST_DATA);
 
?>

Archivo cliente.php

//Agregar la clase de NuSOAP
require_once('nusoap/nusoap.php');
 
//Instanciar un objeto del tipo soapclient.
 
//Indicar la URL del web service SOAP  http://www.dominio.com/server.php
$soapclient = new soapclient( 'http://www.dominio.com/server.php');
 
//Llamamos a la función (operación) remota "holaMundo" del web service del archivo <strong>servidor.php</strong>
 
//Imprimir el resultado que devuelve la función
echo $soapclient- &gt;call('holaMundo',array( 'name'= &gt;'Mundo'));
? &gt;
Written by doutdex in: PHP | Tags: ,

No Comments »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

%d bloggers like this: