Crear un Servicio Web Básico con PHP5

Para crear un servicio Web, es necesario primero tener instalado SOAP en nuestro servidor Web, luego vamos a crear un script simple y silvestre que nos servirá como ejemplo básico como servidor.

Se que este Post será ayuda, asi que una forma de retribuir esa ayuda, es visitando los Sitios Recomendados que aparecen a la izquierda del post o la publicidad ya que ellos proveen información relacionada al post presente y darán mayor presencia al Blog de su servidor…

Además pueden recomendar este Blog en delicius o cualquier otra red social que encuentre, también seria bueno que compartan sus experiencias a través de sus comentarios.

Seguimos:

En nuestra carpeta raíz creamos una carpeta llamada: soapserver, ustedes la pueden llamar como les guste, dentro de ella crearemos un archivo llamado serverbasic.php en donde ubicaremos nuestro archivo servidor.

serverbasic.php


<?php
//** CREAMOS LA FUNCIÓN ***//
function suma($params){

//$params --> Es un objeto que es enviado que contiene los parámetros via WSDL
//Accedemos a los parámetros de la siguiente forma:

$operador1 = $params->a;
$operador2 = $params->b;

$suma = $operador1 + $operador2;

//Como la respuesta es vía SOAP pues se tiene que convertir a un Objeto soap válido
$response = new SoapVar($suma,XSD_INT);
//Devolvemos la Variable SOAP
return $response;
}//function

ini_set("soap.wsdl_cache_enabled", "0");
//Creamos el objeto Servidor, indicando a que archivo WSDL apunta (En este caso el WSDL esta en la misma Ruta), ya que ahí a sido declarada su operación y la URN del WSDL, tambíen la versión de SOAP que se utiliza.
$sServer = new SoapServer('basic.wsdl', array('actor'=>'urn:BasicAPI', 'soap_version' => SOAP_1_2));
//Se declara la función
$sServer->addFunction("suma");
$sServer->handle();

?>

This entry was posted on Thursday, April 24th, 2008 at 10:05 pm and is filed under Desarrollo Web, Miscelania, PHP, Soap, Web Services. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply