viernes, 20 de mayo de 2016

Crear Web Services con PHP y SOAP Básico

Encontré un excelente artículo que habla acerca de la creación de WS en PHP, es muy básico, sin embargo esta excelente para introducirse al tema, explica de manera muy clara los conceptos y los ejercicios son muy explícitos, la url del artículo es la siguiente (está en inglés): Creating Web Services with PHP and SOAP, Part 1

Para la banda que se desespera y no quiere leer aquí pongo los ejemplos, si alguien no sabe ingles y desea que traduzca la página para su comodidad por favor solicítenmelo en los comentarios :)


Servidor:

<?php
require_once "nusoap.php";

function getProd($category) {
    if ($category == "books") {
        return join(",", array(
            "The WordPress Anthology",
            "PHP Master: Write Cutting Edge Code",
            "Build Your Own Website the Right Way"));
 }
 else {
            return "No products listed under that category";
 }
}

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

Cliente:

<?php
require_once "nusoap.php";
$client = new nusoap_client("http://localhost/nusoap/productlist.php");

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

$result = $client->call("getProd", array("category" => "books"));

if ($client->fault) {
    echo "<h2>Fault</h2><pre>";
    print_r($result);
    echo "</pre>";
}
else {
    $error = $client->getError();
    if ($error) {
        echo "<h2>Error</h2><pre>" . $error . "</pre>";
    }
    else {
        echo "<h2>Books</h2><pre>";
        echo $result;
        echo "</pre>";
    }
}
?>