Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2014, 20:01
ci2000
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Crear y consumir web service

Hola.

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 navagador: http://localhost/ws/producto.php?wsdl veo el XML.

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>";
        }
    }
?>
¿Qué hago mal?

Gracias desde ya por las respuestas.
Saludos