Consumir un servicio Web SOAP en PHP

Hola que tal, bienvenido a este nuevo artículo, en el que veremos como implementar un cliente y consumir un servicio Web (Web Services) SOAP en PHP.

Hoy en día el uso de Web Services es casi fundamental para cualquier empresa, básicamente la importancia radica en que está tecnología permite la interoperabilidad entre dos sistemas diferentes, lo que quiere decir que no importa en que lenguaje de programación esté desarrollado un software ya que siempre habrá la posibilidad de que ambos puedan conectarse y poder trabajar.

Terminología usada en un Web Services

Aunque el tema específico de este artículo no es hablar sobre la implementación de un Web Services como tal, existe algunas especificaciones o de alguna manera llamarlo términos, que se debe tener claro antes de empezar.

XML(eXtensible Markup Language:): La forma en que se comunican dos aplicativos usando un Web Services es a través archivos con extensión .xml, puesto que este formato permite representar la información de forma estructurada y permite que pueda ser procesada y almacenada por cualquier dispositivo

WSDL (Web Services Description Language): Es un protocolo que describe como se accede a las operaciones descritas dentro del Web Services, tipos de datos, puertos de conexión etc.

SOAP (Simple Object Access Protocol): Es el protocolo que define la estructura de los mensajes que se transmitirán entre dos sistemas.

Que herramientas se usa para crear el cliente en PHP?

Para consumir un servicio web en PHP vamos a usar NuSOAP, se que se puede usar una API nativa que proporciona PHP, pero hasta ahora no la he usado.

NuSOAP es una librería que contiene todas las clases que nos van ayuda a consumir el Servicio Web y que de hecho es muy fácil.

A continuación dejo el enlace de descarga Descarga NuSOAP.

Cómo haremos las pruebas?

Para esto es importante que tengamos acceso a un Web Services y que tengamos claro cuales son las interfaces (operaciones o métodos a los que se debe acceder) que expone el servicio para consumirlas.

Para este caso lo que vamos hacer es a consumir un Web Services de la Universidad de Alicante, ya que está disponible de manera publica. Específicamente vamos a consumir la interface wsasidepto.

La dirección que expone este Web Services es la siguiente:  https://cvnet.cpd.ua.es/servicioweb/publicos/pub_gestdocente.asmx?wsdl, como puedes ver al final muestra un archivo WSDL,  que es donde expone las interfaces que van a ser consumidas.

Código relevante del ejemplo

A continuación se describe como se consume una operación del Servicio Web.

Si te das cuenta, es muy sencillo crear un cliente y consumir una operación del servicio expuesto, únicamente lo que tendríamos que hacer ahora, es formatear el contenido de la variable $resultado, ya que viene en un arreglo, de acuerdo a la especificación mostrada en el wsdl. En el enlace a continuación se muestra todo el ejemplo completo donde también se formatea el contenido y se muestra sólo la información relevante.

A continuación dejo el proyecto completo donde se consume el servicio web

Espero que esta entrada haya sido de ayuda, nos vemos en la próxima entrada, saludos.

Compartir en:Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Desarrollador Web con Java y PHP, Blogger, aprendiendo y compartiendo conocimientos.

Deja un Comentario