ccc

Web Service SOAP: Ejemplo con nusoap

Descargar la librería de NuSoap (se va a usar tanto en el servidor como en el cliente):
http://sourceforge.net/projects/nusoap/

En www.dominio1.com/SOAP/
Creamos el fichero product_list.php
<?php
require_once "lib/nusoap.php";

function get_peliculas($decada) {
    if ($decada == "1930") {
        return join(",", array(
            "Lo que el viento se llevó",
            "Vive como quieras",
            "Sucedió una noche"));
    }
    if ($decada == "1940") {
        return join(",", array(
            "Rebeca",
            "Qué verde era mi valle",
            "La señora Miniver"));
    }
}

$server = new soap_server();
$server->register("get_peliculas");
$server->service($HTTP_RAW_POST_DATA);
?>

En www.dominio2.com/SOAP
Creamos el fichero product_list_clientes.php:
<?php
require_once "lib/nusoap.php";
$client = new nusoap_client("http://www.dominio1.com/SOAP/product_list.php");

$error = $client->getError();
if ($error) {
    echo "<h2>Ha habido errores:</h2><pre>" . $error . "</pre>";
}

$result = $client->call("get_peliculas", array("decada" => "1940"));

if ($client->fault) {
    echo "<h2>Fallo en el SOAP</h2><pre>";
    print_r($result);
    echo "</pre>";
}
else {
    $error = $client->getError();
    if ($error) {
        echo "<h2>Error al llamar al método del SOAP</h2><pre>" . $error . "</pre>";
    }
    else {
        echo "<h2>Películas</h2><pre>";
        echo $result;
        echo "</pre>";
    }
}
?>

Para ejecutarlo:
http://www.dominio2.com/SOAP/product_list_cliente.php

No hay comentarios:

Publicar un comentario