SlideShare una empresa de Scribd logo
1 de 6
Servicios Web
con PHP
Ing. Yovani Quinteros
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.
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.
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);
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);
}
Ejercicio
1. Implemente el ejemplo anterior en un servidor web apache
2. Realice un ejemplo del servicio

Más contenido relacionado

Similar a Servicios Web con PHP - Servicios Web con PHP

Similar a Servicios Web con PHP - Servicios Web con PHP (20)

Servicios web
Servicios webServicios web
Servicios web
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
PHP - MYSQL
PHP - MYSQLPHP - MYSQL
PHP - MYSQL
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Crear base de datos en FireBase.js .pdf
Crear base de datos en FireBase.js .pdfCrear base de datos en FireBase.js .pdf
Crear base de datos en FireBase.js .pdf
 
Mysql adodb pdf_php
Mysql adodb pdf_phpMysql adodb pdf_php
Mysql adodb pdf_php
 
Jose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajoJose chaparro corte 3 trabajo
Jose chaparro corte 3 trabajo
 
Servicios web
Servicios webServicios web
Servicios web
 
5 plataforma servidora para aplicaciones web
5 plataforma servidora para aplicaciones web5 plataforma servidora para aplicaciones web
5 plataforma servidora para aplicaciones web
 
Conexion Entre Php Y Mysqul
Conexion Entre Php Y MysqulConexion Entre Php Y Mysqul
Conexion Entre Php Y Mysqul
 
Gustavo php
Gustavo phpGustavo php
Gustavo php
 
Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0 Bases de datos desde Visual Basic 6.0
Bases de datos desde Visual Basic 6.0
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
Servicios web
Servicios webServicios web
Servicios web
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Connection
ConnectionConnection
Connection
 
Tema4[php]
Tema4[php]Tema4[php]
Tema4[php]
 
PHP Y MYSQL
PHP Y MYSQLPHP Y MYSQL
PHP Y MYSQL
 
Manejo de datos blob con php y my sql
Manejo de datos blob con php y my sqlManejo de datos blob con php y my sql
Manejo de datos blob con php y my sql
 

Servicios Web con PHP - Servicios Web con PHP

  • 1. Servicios Web con PHP Ing. Yovani Quinteros
  • 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); }
  • 6. Ejercicio 1. Implemente el ejemplo anterior en un servidor web apache 2. Realice un ejemplo del servicio