Esta entrada es la quinta dedicada al interesante mundo del WSDL. En esta entrada encontrarás en detalle el elemento wsdl:portType, que contiene la definición de las operaciones que se incluyen en el servicio web.
Descripción
Wsdl:portType forma parte del objeto wsdl:definitions.
El elemento wsdl:portType define un grupo de operaciones que forman parte del servicio web. Este elemento también es conocido como interface, de hecho en la nueva especificación WSDL 1.2 (que en el momento de escribir este artículo se encuentra en estado «draft«) se sustituye el termino «portType» por el de «interface«.
Gramática
La gramática del elemento wsdl:types es la siguiente (? –> es opcional, * –> pueden ser de 0 a N elementos):
<wsdl:portType name="nmtoken">
<wsdl:operation name="nmtoken" .... /> *
</wsdl:portType>
Atributos
El principal atributo del elemento wsdl:portType es name. Este nombre servirá para identificar este portType en el apartado wsdl:binding, de forma que cada portType pueda tener sus propias características de envío.
SubElementos
El elemento wsdl:operation contiene la información de las diferentes operaciones que se incluyen en el portType. Este elemento wsdl:operation puede estar formado por los siguientes elementos:
- wsdl:input para definir el mensaje de entrada
- wsdl:output para definir el mensaje de salida
- wsdl:fault para definir el mensaje en caso de error.
El orden en el que se presentan estos elementos define el patrón de intercambio de mensajes utilizado.
- Patrón One-way. El endpoint recibe un mensaje. Se define solamente un elemento de entrada.
- Patrón Request-response. El endpoint recibe un mensaje y envía la correspondiente respuesta. Se define un elemento de entrada seguido de uno de salida.
- Patrón Solicit-Response. El endpoint envía un mensaje y recibe la respuesta correspondiente. Se define un elemento de salida y seguido uno de entrada.
- Patrón Notification. El endpoint envia un mensaje. Se define un elemento de salida.
Ejemplo
Este ejemplo muestra el portType AsistenteProducto.
Como podemos observar el portType está formado por 4 operaciones, cada una con su entrada y salida propias:
- consultaInteraccionesTratamientoCompleto
- consultaDuplicidadesTratamientoNuevo
- consultaInteraccionesTratamientoNuevo
- consultaDuplicidadesTratamientoCompleto

Conclusión
El apartado wsdl:portType indica las operaciones que se van a incluir de forma pública en el servicio web.