He logrado crear un web service, pero no lo puedo consumir.
En producto.php tengo:
Código PHP:
<?php
require_once('lib/nusoap.php');
function getProd($categoria) {
if ($categoria == "libros") {
return join(",", array(
"El señor de los anillos",
"Los límites de la Fundación",
"The Rails Way"));
}
else {
return "No hay productos de esta categoria";
}
}
$server = new soap_server();
$server->configureWSDL("producto", "urn:producto");
$server->register("getProd",
array("categoria" => "xsd:string"),
array("return" => "xsd:string"),
"urn:producto",
"urn:producto#getProd",
"rpc",
"encoded",
"Nos da una lista de productos de cada categoría");
$server->service($HTTP_RAW_POST_DATA);
?>
Cuando coloco en el navegador: http://localhost/ws/cliente.php me aparece una página en blanco.
En cliente.php tengo:
Código PHP:
<?php
require_once('lib/nusoap.php');
$cliente = new nusoap_client("http://localhost/ws/producto.php?wsdl");
$error = $cliente->getError();
if ($error) {
echo "<h2>Constructor error</h2><pre>" . $error . "</pre>";
}
echo $cliente->call('hola',array( 'nombre'=>'Mundo'));
echo $result;
$result = $cliente->call('getProd', array("categoria" => "libros"));
if ($cliente->fault) {
echo "<h2>Fault</h2><pre>";
print_r($result);
echo "</pre>";
}
else {
$error = $cliente->getError();
if ($error) {
echo "<h2>Error</h2><pre>" . $error . "</pre>";
}
else {
echo "<h2>Libros</h2><pre>";
echo $result;
echo "</pre>";
}
}
?>
Gracias desde ya por las respuestas.
Saludos