Network Deployment (Distributed operating systems), v8.0 > Develop and deploying applications > Develop web services - Reliable messaging (WS-ReliableMessaging) > Develop a reliable web service application
Provide transactional recoverable messaging through WS-ReliableMessaging
If your WS-ReliableMessaging application runs inside the web container and uses a managed quality of service, you can use WS-ReliableMessaging to provide transactional recoverable messaging.
The WS-ReliableMessaging transactional model is as follows:
- On the web service requester side, the transaction is between the application and the local managed store.
- The WS-ReliableMessaging protocol delivers the message to the web service provider side, where a different transaction is used between the second managed store and the application being dispatched.
For the outbound (requestor) case on a one-way message send, if the enableTransactionalOneWay property is set to true, then the send is performed under any transactional context currently held by the application thread. (Note that transactions are not supported under an outbound two-way message exchange).
For the inbound (provider) case, if the inOrderDelivery property is set to true, then an inbound message is dispatched to the application under a transaction. For an inbound two-way message exchange, the response is also generated under that transaction and is not sent until that transaction has committed.
WS-ReliableMessaging transactions do not use the WS-AtomicTransactions protocol. The relationship between these two protocols is as follows:
- WS-AtomicTransactions and WS-ReliableMessaging are mutually exclusive when WS-ReliableMessaging is being used, with a managed store, to provide transactional recoverable messaging.
- If WS-ReliableMessaging is configured to use an in-memory store, then there are cases where a WS-AtomicTransaction can be flowed between the reliable messaging source and the reliable messaging destination for two-way invocations. In this situation, WS-ReliableMessaging only protects against network failures, not against server failure.
To provide transactional recoverable messaging through WS-ReliableMessaging, work through the steps described in Add assured delivery to web services through WS-ReliableMessaging and also complete the following additional steps:
Procedure
- To enable transactional messaging for outbound (requester) one-way message sends, when you develop your JAX-WS web service application set the enableTransactionalOneWay property to Boolean.TRUE (or the string true) in the jaxWS request context map.
- To enable transactional messaging for inbound (provider) one-way and two-way message exchanges, when you configure your WS-ReliableMessaging policy either use the administrative console to select the option Deliver messages in the order that they were sent or use wsadmin.sh to set the inOrderDelivery property to true.
Configure the WS-ReliableMessaging policy
WS-ReliableMessaging
Detecting and fixing problems with WS-ReliableMessaging
Develop a reliable web service application
Administer reliable web services
Related
WS-ReliableMessaging: supported specifications and standards
Configure a WS-ReliableMessaging policy set by
Configure a WS-ReliableMessaging policy set by using wsadmin