1.3 Overview

The WS-ReliableMessaging Protocol: Reliable Request-Reply Extension specifies a composition of the WSRM Protocol with the SOAP Request-Response specified in [SOAP1.2-2/2007] section 6 or SOAP over HTTP as specified in [SOAP1.1] section 6. The composition is achieved by restricting the use of the WSRM Protocol. A key restriction is a rule of usage known as replay [WSO2-Replay]. Replay stipulates that a Reliable Messaging Source (RMS) is to continue to retransmit a request until a response is received that includes an acknowledgment header block that acknowledges the request. These replays provide a mechanism for the RMD to retransmit unacknowledged responses.

The following figure illustrates part of a message exchange between an RM Source (RMS) and an RMD, where the RMS is anonymous and the message exchange pattern is request-response. The RMS establishes a pair of sequences and attempts to send three request messages: request 1, request 2, and request 3. The responses that the RMD sends are response 1, response 2, and response 3, respectively. Response 2 is lost and the RMS replays request 2, even though response 3 acknowledged request 2 in order to provide the RMD with an opportunity to replay response 2. After the RMS receives response 2, the RMS closes the sequences (acknowledging all the responses) and then terminates the sequences.

Message flow with replay

Figure 1: Message flow with replay