Programación , Domótica y microcontroladores.

Entradas etiquetadas como ‘Servicio Web’

WEBSERVICE CON PHP+MYSQL+NUSOAP II

Estimados amigos, esta vez les traigo una actualización del webservice pero ahora con una conexión a una base de datos , la cual se encarga de obtener la información de acuerdo al parámetro solicitado.

Se ha divido en 2 partes:

1.El servidor :Se encarga d de realizar las conexiones y poner a disposición del usuario la información solicitada.

2. El cliente:Se encarga de solicitar la información de los métodos disponibles del servicio web.

1.Servidor

a) Declaramos la estructura del servicio web.Si te habrás dado cuenta, puedes notar que hay declarados
un objeto simple y el otro es un array que básicamente llama a la primera estructura.Así se manejan los servicios en PHP.

Luego se registran los métodos para que estén disponibles al momentos de solicitarlos.Si pueden notar en el método se encuentra el nombre del método llamado “getAllSintoma” pues ese es el nombre de nuestra función , la cual se conecta a la base y extrae todo los registros solicitados.

Finalmente se escribe la función la cual se encargada de retornar un arreglo al servicio.Nuestra función se llama “getAllSintoma”.Esta demás , decir que hace la función.

Muy pronto artículos relacionados con facebook y la continuación con el curso de android.

No te olvides comentar, es la forma de agradecer.

Anuncios

Implementando Servicios web en PHP+Mysql

Soap

SOAP (Simple Object Access Protocol, Protocolo de acceso a objetos simple) es unprotocolo basado en XML que consiste de tres partes: la primera define cuál es el mensaje ycómo procesarlo, la segunda es un sistema de reglas de codificación para expresar tipos dedatos definidos y una tercera parte para representar respuestas de llamadas por parte deprocedimientos remotos.

La diferencia básica entre los dos protocolos anteriores es su complejidad. XML-RPC estádiseñado para ser sencillo, mientras que SOAP está hecho con la idea de ofrecer un soportecompleto de todo tipo de servicio web.

Por otro lado, también es conveniente describir qué es WSDL. Pues bien, WSDL es un formatoXML que describe los servicios de red como un conjunto de puntos finales que procesanmensajes contenedores de información orientada tanto a documentos como a procedimientos.Las operaciones y los mensajes se describen de manera abstracta y después se enlazan a unprotocolo de red y a un formato de mensaje concreto para definir un punto final de red.
Fuente:http://es.scribd.com/doc/16175477/Implementando-Servicios-Web-Con-Php

Desarrollo
Para realizar a punta de código , los servicios web son un poquito complejos porque debes conocer muy bien su estructura pero afortunadamente hay una librería llamada NuSoap, que hace ese trabajo por nosotros.Pero, aún así, se debe meter mano para obtener mejores resultados.

Hace unos 6 meses, yo quería realizar un servicio web para una aplicación; que tomaba los datos de una base de datos en Mysql y lo debía poner disponibles para los usuarios que desean consumirla.
Pero leyendo algunos sitios , concluí , que lo mejor era optar por la librería Nusoap.Pues , es así, como comencé a probar esta librería.Tuve algunos problemas pero los solucione.
En el proyecto , adjunto ejemplos desde los más básicos hasta los mas complejos.
Para lograr la implementación del servicio web(web service) , he utilizado la librería NuSOAP que viene adjunta al proyecto que posteo.

<?php
include('lib/nusoap.php');
$server = new soap_server;
$ns="http://localhost:88/Webserivce/";
$server->configureWSDL('Servicios',$ns);
$server->wsdl->schematargetnamespace = $ns;

$server->wsdl->addComplexType(
        'ArregloDeEstructuras',
        'complexType',
        'array',
        'sequence',
        'http://schemas.xmlsoap.org/soap/encoding/:Array',
        array(),
        array(array('ref' => 'http://schemas.xmlsoap.org/soap/encoding/:arrayType',
         'wsdl:arrayType' => 'tns:Estructura[]')
        ),
        'tns:Estructura'
);

$server->register('consultaPersonas',
                  array('$param' => 'xsd:string'),
                  array('return'=>'tns:ArregloDeEstructuras'),
                  $ns);




function consultaPersonas($param) {
    $arreglo = array();
    $arreglo[] = array('Nombre'=>"Juan", 'Apellidos'=>"Torres", 'Edad'=>18);
    $arreglo[] = array('Nombre'=>"Teresa", 'Apellidos'=>"Jiménez Sánchez", 'Edad'=>19);
    $arreglo[] = array('Nombre'=>"Efraín", 'Apellidos'=>"Ovalles López", 'Edad'=>22);
    return $arreglo;
}





// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?> 

Y es así, como se realiza un servicio web usando la librería NuSoap.
Descargar ejemplo
No olvides comentar en forma de agradecimiento.