martes, septiembre 06, 2011

Web Service en PHP consumido desde .Net

Para crear un Web Service en PHP, lo primero que hay que hacer es asegurarnos que tenemos instaladas las librerías NUSOAP. La última versión se puede descargar de http://sourceforge.net/projects/nusoap/. Luego debemos copiarlas al directorio www del servidor Apache (en mi caso utilizo WAMP)

A continuación un php de prueba:

    
        require_once('../lib/nusoap.php');
        $servidor=new soap_server();
        $servidor->configureWSDL('_jaacwsdl','urn:_jaacwsdl');
 
        $servidor->register('_jaac', 
                          array('nombre' => 'xsd:string'),
                          array('return' => 'xsd:string'),
                          'urn:_jaacwsdl',
                          'urn:_jaacwsdl#_jaac',
                          'rpc',
                          'encoded',
                          'este ejecuta _jaac'
                 );
 
        function _jaac($nombre){
                 return "HEY!!! Hola " . $nombre;
        }
 
        $HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
        $servidor->service($HTTP_RAW_POST_DATA);
    ?>

Para utilizarlo desde .Net, hay que añadir una referencia web a http://localhost/nusoap-0.9.5/samples/_jaac.php?wsdl (por ejemplo) y añadir un código similar al siguiente:

    var wsPHP = new PruebaWebServices.localhost._jaacwsdl();
    string ret = wsPHP._jaac("Leonardo da Vinci");

No hay comentarios:

Publicar un comentario