Engineering Full Stack Apps with Java and JavaScript
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.
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.
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
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.
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.
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.