Reliable Messaging in Web services helps applications to send and receive messages in an efficient and secure manner amidst application, platform, or network failures. The WS-Reliable Messaging specification (WS-RM) defines a protocol and a set of mechanisms to ensure that messages are delivered reliably between two endpoints. WS-RM handles both simple and complex scenarios arising in message transmission.
Reliable Messaging capability is provided by the Reliable Messaging Core/UI features in the WSO2 feature repository, which are currently bundled by default in the Service Management feature. These features provides a Reliable Messaging tool that is used to enable WS-RM to services at global-level and service-level.
- Global-Level : Engages reliable messaging to all services. For information, see Configuring the sandesha2 Module.
- : If you activate reliable messaging for a particular service, your configurations apply to that service only.
Service-level reliable messaging
Follow the steps below to enable and manage reliable messaging on a service-level.
- Log in to the management console and click Services > List under the Main menu.
- In the Deployed Services page that appears, click on the service to which you want to activate reliable messaging.
- The service's dashboard opens. Click Reliable Messaging from the Quality of Service Configuration panel.
- Enable reliable messaging to the service by selecting Yes.
- Change the default Reliable Messaging Sequence Configuration settings as you need.The options of the above window are as follows:
WS-RM defines a one-way sequence. The sender (source) is called the RMS (reliable messaging source) and the receiver (destination) is called the RMD (reliable messaging destination). Therefore, for in-out operations, the RM uses two sequences. The server acts as the RMD for request messages and RMS for response messages.
- Inactivity Timeout Interval : The maximum inactive time for any RM session. After the sequence timeout, the RM session is terminated.
- Inactivity Timeout Measure : The unit in which the inactivity timeout interval is specified.
- Sequence Removal Timeout : Shows the interval. If the sequence is inactive during this time period, the sequence is removed from the storage.
- Sequence Removal Timeout Measure : The unit, in which the sequence removal timeout interval is specified.
- Acknowledgment Interval : The time interval that the RMD uses to send the acknowledgments.
- Retransmission Interval : The time interval, after which the RMS retransmits the message if it does not get an acknowledgment.
- ExponentialBackoff : Whether RMS exponentially increases the retransmission time or not.
- Maximum Retransmission Count : The maximum number of retransmits the RMS sends.
Click Finish after the config is done.
The rest of the function of buttons on this window are as follows:
- Finish : Submits the current data
- Reset : Loads the last submitted configuration
- Default : Loads the default RM configuration. (Click Finish to submit)
- Clear : Clears he text boxes
- Cancel : Goes to the main page