Mostrando entradas con la etiqueta NuSoap. Mostrar todas las entradas
Mostrando entradas con la etiqueta NuSoap. Mostrar todas las entradas

Ejemplo con NuSoap

jueves, 12 de febrero de 2009
He estado buscando ejemplos funcionales con NuSoap y encontre este que me funciono a la perfecccion y quiero compartirlo con ustedes, lamentablemente no recuerdo la fuente, asi que si alguien la sabe por favor aviseme.

Bueno, creamos una carpeta "ejemplo" en ella incluimos el archivo:


require_once('lib/nusoap.php');

$servidor=new soap_server();

$servidor->configureWSDL('holawsdl','urn:holawsdl');


$servidor->register('hola',

array('nombre' => 'xsd:string'),

array('return' => 'xsd:string'),

'urn:holawsdl',

'urn:holawsdl#hola',

'rpc',

'encoded',

'este ejecuta hola'

);


function hola($nombre){

return "hola, " . $nombre;

}


$HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA);

$HTTP_RAW_POST_DATA : '';

$servidor->service($HTTP_RAW_POST_DATA);

?>


al que llamamos hola.php, la linea 2 corresponde a el lugar donde se encuentran la carpeta lib del archivo de NuSoap (este ejemplo funciona con nusoap-0.7.2), luego de guardar el archivo lo podemos ejecutar para ver el wsdl que crea en http://127.0.0.1/ejemplo/hola.php.

Yo podemos consumir el servicio de hola.php con este archivo:


require_once('lib/nusoap.php');
$client = new soapclient('http://localhost/ejemplo/hola.php?wsdl', true);

$result = $client->call('hola', array('nombre' => 'Elena'));

echo '
Resultado

';
echo '
' . print $result . '
';
echo '
Requerimiento

';
echo '
' . htmlspecialchars($client->request, ENT_QUOTES) . '
';
echo '
Respuesta

';
echo '
'   . htmlspecialchars($client->response, ENT_QUOTES) . '
';
?>



que llamaremos ejecutahola.php y que vamos a guardar en la misma carpeta ejemplo, para ejecutar el codigo anterior vamos http://127.0.0.1/ejemplo/ejecutahola.php y listo ya tenemos nuestro primer webservice con NuSoap.