Message Exchange Patterns in Web Services

A message Exchange Pattern (MEP) is a pattern for the exchange of messages between two communicating parties like a server and a client. The most common such pattern is the request-response pattern where the client sends a request and the server sends a response back. From a server perspective this is an input-output operation. Based on different combinations of input and output, the WSDL specification defines 4 patterns: 

  • Input-Output Operations

  • Input-Only Operations.

  • Output-Input Operations.

  • Output-Only Operations.


Request-Response (Input – Output operation)

  • Client sends a request and server sends a response back; and is the most common one you can see.

  • The WSDL port receives a message and sends a correlated response back; and there will be an input message followed by output in WSDL.


One way input (Input only operation)

  • Client sends a message without expecting a response from the service. An example might be a heart beat server that listens to client ping at regular interval to see if it is up and running.  

  • WSDL port only receives a message and there is an input message only in the WSDL


Solicit response (Output – input operation)

  • Server sends a message and client sends a response back mostly an acknowledgement or status update.

  • The WSDL port sends a message and receives a correlated message, and hence there is an output message followed by an input message in WSDL.


Notification or Publish-Subscribe(Output only operation)

  • Here server sends a message without expecting a response. Could be used in a publish subscribe scenario that connects a set of publishers to a set of subscribers.

  • The WSDL port sends a message without response, and hence there is an output message only in WSDL.


Synchronous and asynchronous web service calls

  • Web service calls may be synchronous or asynchronous.

  • Synchnous calls usually follows the request-response message exchange pattern over HTTP. 

    • Solicit response may also be done synchronous.

  • Asynchnous calls may follow one way input or publish-Subscribe message exchange patterns.

    • The client and the service may need to establish a mechanism to correlate the messages in case of asynchronous calls, as the response may be sent later through a callback mechanism implemented at the web service side.

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within!!!