2. Servicios web con PHP
utilizando el protocolo SOAP
• Tutorial básico sobre cómo crear servicios web con PHP utilizando el protocolo SOAP.
• SOAP (Simple Object Access Protocol) es un protocolo ampliamente utilizado para la
creación de servicios web. En este tutorial, te guiaré a través de la creación de un
servicio web simple en PHP que proporcionará información sobre libros. Asegúrate de
tener PHP instalado y un servidor web configurado antes de comenzar.
3. 1: Configuración del
entorno
1. Crea una carpeta en tu servidor web
para este proyecto, por ejemplo,
"servicio_web_php".
2. En la carpeta, crea un archivo
llamado "libros_servicio.php", que
será el punto de entrada de nuestro
servicio web.
4. 2: Creación del
servicio web
• A continuación,
crearemos un servicio
web simple que
proporcionará
información sobre
libros.
<?php
// Incluir la biblioteca SOAP
require_once('lib/nusoap.php');
// Crear una instancia de la clase
nusoap_server
$server = new nusoap_server();
// Configurar el servicio web
$namespace =
"http://tusitio.com/servicio_web_php";
$server->configureWSDL("LibrosServicio",
$namespace);
// Definir el tipo de datos para la
función obtenerLibro
$server->wsdl->addComplexType(
'Libro',
'complexType',
'struct',
'all',
'',
array(
'Titulo' => array('name' =>
'Titulo', 'type' => 'xsd:string'),
'Autor' => array('name' =>
'Autor', 'type' => 'xsd:string')
)
);
// Definir la función obtenerLibro
$server->register(
'obtenerLibro',
array('ISBN' => 'xsd:string'),
array('return' => 'tns:Libro'),
$namespace,
false,
'rpc',
'encoded',
'Obtener información sobre un libro
por ISBN'
);
// Definir la función obtenerLibro
function obtenerLibro($ISBN) {
// Consultar una base de datos o
fuente de datos para obtener información
sobre el libro
// En este ejemplo, retornaremos datos
ficticios
$libro = array(
'Titulo' => 'El Gran Gatsby',
'Autor' => 'F. Scott Fitzgerald'
);
return $libro;
}
// Procesar la solicitud del servicio web
$HTTP_RAW_POST_DATA =
file_get_contents("php://input");
$server->service($HTTP_RAW_POST_DATA);
5. 3: Probar el
servicio web
• Una vez que hayas
creado el servicio web,
puedes probarlo.
Puedes utilizar una
herramienta como
SOAPUI o crear un
cliente PHP para
consumir el servicio.
Aquí hay un ejemplo
simple de cómo crear
un cliente PHP para
consumir el servicio:
// Procesar la solicitud del servicio web
$HTTP_RAW_POST_DATA =
file_get_contents("php://input");
$server->service($HTTP_RAW_POST_DATA);
<?php
// Incluir la biblioteca SOAP
require_once('lib/nusoap.php');
// Configurar el cliente
$client = new
nusoap_client('http://tusitio.com/servicio_web_php/li
bros_servicio.php?wsdl', true);
// Llamar a la función obtenerLibro
$ISBN = '123456789';
$response = $client->call('obtenerLibro',
array('ISBN' => $ISBN));
// Verificar si hay errores
if ($client->fault) {
echo "Error: " . $client->fault;
} else {
// Mostrar la información del libro
print_r($response);
}