WSDL Port


<portType>The element is the most important WSDL element.


WSDL Port

<portType>The element is the most important WSDL element.

It can describe a web service, the operations that can be performed, and the related messages.

The <portType> element can be compared to a function library (or a module, or a class) in a traditional programming language.


Operation Types

Request-Response is the most common operation type, but WSDL defines four types:

Type Definition
One-way This operation can accept a message but will not return a response.
Request-response This operation can accept a request and will return a response.
Solicit-response This operation can send a request and will wait for a response.
Notification This operation can send a message but will not wait for a response.


One-Way Operation

An example of a one-way operation:

Example

<message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType >

In this example, the port "glossaryTerms" defines a one-way operation named "setTerm".

This "setTerm" operation accepts input messages for new glossary term entries, which use a message named "newTermValues", with input parameters "term" and "value". However, no output is defined for this operation.


Request-Response Operation

An example of a request-response operation:

Example

<message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>

In this example, the port "glossaryTerms" defines a request-response operation named "getTerm".

The "getTerm" operation requests an input message named "getTermRequest", which has a parameter named "term", and will return an output message named "getTermResponse", which has a parameter named "value".

Other Extensions