This documentation is for WSO2 ESB version 4.0.2. View documentation for the latest release.

Reliable Messaging

The goal of Reliable Messaging in Web services is to allow applications to send and receive messages in an efficient and reliable manner amidst application, platform, or network failure. The WS-Reliable Messaging specification (WS-RM) defines a protocol and a set of mechanisms that ensure that messages are delivered reliably between two endpoints.

The WSO2 Web Services Application Server (WSAS) provides a Reliable Messaging tool that is used to enable WS-RM to services at global level and service level. If you activate reliable messaging for a particular service, your configurations will be applied to that particular service. WS-Reliable Messaging handles and solves both simple and complex scenarios arising in message transmission.

For more information about Reliable Messaging, see Message Relay.

The following actions are available:

Enabling Reliable Messaging

Reliable Messaging can be enabled on two levels:


Follow the instructions below to enable Reliable Messaging on a service level.

1. Sign in. Enter your user name and password to log on to the ESB Management Console.

2. Click on "Main" in the left menu to access the "Manage" menu.

3. In the "Manage" menu, click on "List" under "Web Services."

4. The "Deployed Services" page appears.

5. Click on the service, for which you want to activate Reliable Messaging. The "Service Dashboard" page appears.

6. Click "Reliable Messaging" in the "Quality of Service Configuration" panel.

7. The "Enable Reliable Messaging" page appears.

7. In the "Enable Reliable Messaging" list, click "Yes."

8. The current "Reliable Messaging Sequence Configuration" appears.

Field Descriptions

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. For request messages the server acts as the RMD and for response messages, the server act as the RMS.

  • 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.

9. Modify the configuration if required. Click "Finish." Reliable Messaging will be activated for that particular service.

Functions of Buttons:

  • Finish - Click "Finish" to submit the current data. When finished, your throttle configuration will be applied and the page will be redirected to the previous page.
  • Reset - Click "Reset" to load the last submitted configuration.
  • Default - Click "Default" to load the default throttle configuration. If you want to submit those data, you have to click "Finish."
  • Clear - Click "Clear" to clear all the text boxes in the UI.
  • Cancel - Click "Cancel" to go to the "Deployed Modules" page.

Disabling Reliable Messaging

Follow the instructions below to disable Reliable Messaging.

1. Sign in. Enter your user name and password to log on to the ESB Management Console.

2. Click on "Main" in the left menu to access the "Manage" menu.


3. In the "Manage" menu, click on "List" under "Web Services."

4. The "Deployed Services" page appears.

5. Click the service, for which you want to inactivate Reliable Messaging. The "Service Dashboard" page appears.

6. Click "Reliable Messaging" in the "Quality of Service Configuration" panel.

7. The "Enable Reliable Messaging" page appears. In the "Enable Reliable Messaging" list, click "No."

8. Confirm your request in "WSO2 Carbon" window.