WSDL (VII) – wsdl:service y wsdl:port

Esta entrada es la séptima y última entrega dedicada al interesante mundo del WSDL. En esta entrada encontrarás en detalle los elementos wsdl:service y wsdl:port, que contiene la dirección del endpoint donde se va a publicar el servicio web.

Descripción

Wsdl:service forma parte del objeto wsdl:definitions.

Wsdl:port forma parte del elemento wsdl:service.

El elemento wsdl:port define el endpoint para un wsdl:binding concreto.

Gramática

La gramática del elemento wsdl:types es la siguiente (? –> es opcional, * –> pueden ser de 0 a N elementos):

<wsdl:service .... > *
 <wsdl:port name="nmtoken" binding="qname"> *
 <-- extensibility element (1) -->
 </wsdl:port>
</wsdl:service>

Atributos

El elemento wsdl:service cuenta con los siguientes atributos:

  • name: este atributo proporciona un nombre único para el servicio web. Debe coincidir con el atributo name del elemento wsdl:definitions.
El elemento wsdl:port cuenta con los siguientes atributos:
  • binding: esta atributo proporciona el nombre del wsdl:binding para el que se crea el endpoint.
  • name: este atributo proporciona un nombre único para este endpoint.

SubElementos

El elemento «extensibility element (1)» indica la información para construir la URI del endpoint. Un puerto sólo puede tener un endpoint. El elemento soap:address mediante el atributo location es el encargado de darle una URI donde se publica el servicio WEB.  

Ejemplo.

Este ejemplo muestra la definición de un binding para el portType AsistenteProducto. 

<wsdl:service nameAsistenteProductoSW«>
<wsdl:port bindingtns:AsistenteProductoSWSoapBinding« nameAsistenteProducto«>
</wsdl:port>
</wsdl:service>

Conclusión

El apartado wsdl:services es el qué marca la URI donde se publica el servicio web. Esta URI es la que se debe distribuir a los clientes que deben acceder a las funcionalidades proporcionadas por el servicio. 

Links