PHP - Error al generar XML desde Web Service

 
Vista:

Error al generar XML desde Web Service

Publicado por Sara (1 intervención) el 26/04/2015 14:30:22
Buenos días

Estoy empezando a desarrollar Web Services en PHP, y no sé por qué motivo no se me genera el XML desde mi archivo Servidor.

Os adjunto mi código para ver si me podéis ayudar:
Servicio.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
    require_once "nusoap/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);
?>


Cliente.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    $cliente->setCurlOption(CURLOPT_CONNECTTIMEOUT, 60);
    require_once "nusoap/nusoap.php";
    $cliente = new nusoap_client("https:/xxxx.com/modules/WebServices/servicio.php");
 
    $error = $cliente->getError();
    if ($error) {
        echo "<h2>Constructor error</h2><pre>" . $error . "</pre>";
    }
 
    $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>";
        }
    }
?>

Tengo también una duda en el Servicio, y es que no tengo claro qué tengo que poner en la siguiente instrucción: $server->configureWSDL("producto", "urn:producto");

Por favor si me podéis ayudar os lo agradecería, me corre prisa para el trabajo y no lo consigo.:-S

Muchas gracias de nuevo
Un saludo
Sara
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder