Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Utilizando NuSOAP III


Tras la introducción a los Servicios Web por fin empezamos a programar con NuSOAP.


31/3/05 - Comenzamos a programar!

Como mencione anteriormente he dividido la aplicación de prueba del Web Service en dos (2) archivos, uno que mostrara todas las localidades donde existen pronósticos (seleccionarLocalidad.php) y otro que mostrara el pronóstico para la localidad seleccionada (mostrarPronostico.php)

Veamos como consumimos un web service (searchByCountry):

En el código se han eliminado las comprobaciones de errores para poder facilitar la lectura de los pasos. Veamos cuales son los pasos para consumir un servicio web desde PHP:

require_once(“lib/nusoap.php”);

Debemos incluir la librería NuSOAP. En este ejemplo asumimos que el directorio donde se encuentra el archivo nusoap.php esta ubicado en el subdirectorio lib (a partir de donde esta nuestro script).

$oSoapClient = new soapclient('http://live.capescience.com/wsdl/GlobalWeather.wsdl', true);

Debemos instanciar la clase soapclient, ya que en esta ocasión utilizaremos solo el cliente que nos provee NuSOAP. Los parámetros enviados son la ubicación del documento WSDL y true como segundo parametro (este último parámetro indica que el primer documento es un WSDL) .

Definimos un array con el país para el cual se quieren obtener las localidades que tienen pronósticos disponibles. Volviendo al documento WSDL podemos ver que la variable que debemos enviar es “country” y que es del tipo string

$aParametros = array("country" => "argentina");

280. <message name="searchByCountry">

281. <part name="country" type="xsd:string"/>

282. </message>

$aRespuesta = $oSoapClient->call("searchByCountry", $aParametros);


Llamamos al método call del objeto soapclient. Al mismo le pasamos como parámetro el nombre del método que queremos ejecutar en el web service (searchByCountry) y los parámetros ($aParametros). En nuestra variable $aRespuesta tenemos un array con la respuesta del Web Service. Este array tiene el formato descripto en “ArrayOfStation” (el cual fue visto anteriormente). Es decir podemos acceder a las variables descriptas en ArrayOfStation de la siguiente manera: $aRespuesta[“wmo”], $aRespuesta[“elevation”], $aRespuesta[“name”], etc.

Ahora que ya conocemos c&oacte;mo sería el procedimiento para consumir un Web Service, veamos un poco más en profundidad los métodos de soapclient que utilizamos:

Al crear una instancia de soapclient, existen varios parámetros que podemos enviar para su creación:

$oSoapClient = new soapclient(

   <url donde se encuentra el web service o WSDL>,
   [<booleana indicando si el primer parámetro es un WSDL>],
   [<entero con el Portéame>],
   [<cadena proxyHost>],
   [<cadena proxyPort>],
   [<cadena nombre de usuario>],
   [<cadena password>],
   [<entero con el timeout de la conexión>],
   [<entero con el timeout de la respuesta>]);


Solo el primer parámetro es necesario (la ubicación del Web Service o del documento WSDL del Web Service), todos los demás son opcionales.

Al ejecutar el Web Service, existen varios parámetros que podemos enviar al método:

call( <método que queremos ejecutar en el servidor>,

   [<un array asociativo con los parámetros que debemos enviar (si existen)>],
   [<cadena con el espacio de nombres (namespace)>],
   [<cadena con el valor de la acción SOAP>],
   [<booleana indicando si esta presente los valores de SOAPVAL en los headers>],
   [<booleana la cual ya no se utiliza>],
   [<cadena con el style a usar cuando se realiza la serialización de los parametros>],
   [<cadena que puede ser "encoded" o "literal" utilizada para serialización de los parametros>]);


Cómo vemos existen muchos más parametros de los que habiamos utilizado, pero como exigen un conocimiento más profundo sobre los Web Services los cuales escapan a los alcances de este artículo no los trateremos aquí.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 2 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Orlando Fabián Brea*
URL: http://www.smartsol.com.ar

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Web Services con PHP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 2 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Web Services con PHP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia