This is an overview of implementing a SOAP/JMS Web service using the MQGet node and describes the costs and benefits of this approach.
When using a synchronous request-reply pattern, the request message would be sent using an MQOutput node and the reply would then be received inline with an MQGet node.
A flow like the one in the following simplified diagram would enable synchronous SOAP-over-HTTP to SOAP-over-JMS translation:
The above flow provides a simple mechanism to implement a synchronous translation of HTTP to SOAP-over-JMS in which each incoming HTTP request is fully processed and responded to before moving onto the next. Failure of the SOAP-over-JMS service would be handled by the setting of a timeout on the MQGet node. Another advantage of this flow model is that the whole request-reply translation is handled in a single transaction enabling simple rollback and recovery.
This synchronous flow might not be appropriate in cases where the SOAP-over-JMS processing might be long running, since processing of other incoming HTTP requests will not be initiated until the current request is completed. In these cases the Message Flow would be better designed asynchronously, with separate request and reply flows, with any required correlation context being saved to a storage medium in the request flow and restored during the reply flow. A possible solution is to use a queue to store the required correlation context and use an MQGet node in the reply flow to retrieve it. This flow design allows the HTTP requests to be dispatched to the SOAP-over-JMS service as they are received and replies delivered back to HTTP in the order they are received. This would prevent, for example, fast running enquiry requests being blocked by a longer running update request.
The asynchronous request-reply scenario is described in Using an MQGet node in a request-response flow.
The asynchronous request-reply scenario is also detailed in the sample Coordinated Request Reply sample which could be adapted for Web Service usage.
Another Web services scenario is described in the sample: Web Service Host sample.
Notices |
Trademarks |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
ac34660_ |