Saltar la navegación

1.3.- Descripción del servicio: WSDL.

Una vez que hayas creado un servicio web, puedes programar el correspondiente cliente y comenzar a utilizarlo. Como el servicio lo has creado tú, sabrás cómo acceder a él: en qué URL está accesible, qué parámetros recibe, cuál es la funcionalidad que aporta, y qué valores devuelve. Sin embargo, si lo que quieres es que el servicio web sea accesible a aplicaciones desarrolladas por otros programadores, deberás indicarles cómo usarlo, es decir, crear un documento WSDL que describa el servicio.

WSDL es un lenguaje basado en XML que utiliza unas reglas determinadas para generar el documento de descripción de un servicio web. Una vez generado, ese documento se suele poner a disposición de los posibles usuarios del servicio (normalmente se accede al documento WSDL añadiendo "?wsdl" a la URL del servicio).

El espacio de nombres de un documento WSDL es: http://schemas.xmlsoap.org/wsdl/, aunque en un documento WSDL se suelen utilizar también otros espacios de nombres. La estructura de un documento WSDL es la siguiente:

<definitions 
    name="…" 
    targetNamespace="http://…"
    xmlns:tns="http://…" 
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    … 
>
    <types>
        …
    </types>
    <message>
        …
    </message>
    <portType>
        …
    </portType>
    <binding>
        …
    </binding>
    <service>
        …
    </service>
</definitions>

El objetivo de cada una de las secciones del documento es el siguiente:

  • types. Incluye las definiciones de los tipos de datos que se usan en el servicio.
  • message. Define conjuntos de datos, como la lista de parámetros que recibe una función o los valores que devuelve.
  • portType. Cada portType es un grupo de funciones que implementa el servicio web. Cada función se define dentro de su portType como una operación (operation).
  • binding. Define cómo va a transmitirse la información de cada portType.
  • service. Contiene una lista de elementos de tipo port. Cada port indica dónde (en qué URL) se puede acceder al servicio web.
    Imagen del esquema de WSDL1.1 comparado con el 2
    Cristcost (Dominio público)

Las secciones anteriores son las correspondientes a la versión 1.1 de WSDL. En la versión 2.0, los conceptos y la nomenclatura cambia ligeramente; por ejemplo, lo que en 1.1 es un portType se denomina interface en la versión 2.0.

En los siguientes puntos veremos paso a paso cómo crear cada una de las secciones de un documento WSDL.