Foros del Web » Programando para Internet » PHP »

Crear y consumir web service

Estas en el tema de Crear y consumir web service en el foro de PHP en Foros del Web. 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 ( ...
  #1 (permalink)  
Antiguo 14/12/2014, 20:01
 
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

Etiquetas: consumir, service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.