1 Answer
  • Web Services Reliable Messaging (WS-RM) is an OASIS standard that allows two systems to reliably exchange SOAP messages with each other.
  • The purpose of WS-RM is to ensure delivery of messages in situations such as the destination endpoint being temporarily unavailable (for example, in the case of a server restart) or the message path crossing multiple transport connections, any of which might fail (for example, across a firewall).
  • WS-RM offers greater reliability when using HTTP transport, but has a performance impact.
  • WS-RM is applicable only to HTTP transport. If you configure WS-RM on a message flow that uses JMS transport, the WS-RM settings are not used when the flow is deployed.
  • Systems that implement WS-RM retransmit messages that have not been successfully delivered and acknowledged, and prevent duplicate messages from being delivered to the application destination.
  • WS-RM is a web services protocol and can be used with WS-Security and WS-Addressing.

enter image description here

  • Reliable messaging takes place between two endpoints known as the reliable messaging source and the reliable messaging destination. Before the messages are sent, the reliable source and reliable destination perform a message exchange to establish a Sequence.
  • A Sequence is identified by a unique identifier and comprises a sequence of messages which are numbered starting from one.
  • Sending a group of messages in a Sequence ensures the reliability of all the messages in that Sequence.
  • The reliable messaging source sends each message one or more times to the reliable messaging destination.
  • The destination sends back acknowledgment for each message it receives to show that the message has been successfully received. If the reliable messaging source does not receive an acknowledgment that a message has been received by the destination, it sends the message again until an acknowledgement is received.
  • When all messages in a sequence have been successfully received by the destination and acknowledgement received by the source, the source sends a TerminateSequence message to instruct the destination that the message sequence is complete.
  • If the client is waiting for messages that have not been delivered, it can initiate a WS-MakeConnection request.
  • WS-MakeConnection is a specification that describes how messages can be exchanged between a server and a client using a transport-specific back-channel.
  • The client's MakeConnection request allows the server to respond with any queued messages that have not been received by the client.
Please log in to add an answer.