In the Web Services Reliable Messaging (WS-RM) programming model, messages are transferred from the service consumer to the service provider using logical sequences. A logical sequence is implemented using a technical sequence that is based on the WS-RM protocol.
A logical sequence is a container that contains a technical sequence with one or more messages.
Sequences contain a unique identifier. Messages in a sequence are numbered consecutively. The WS-RM sequence header in the SOAP message identifies the sequence that a message belongs to.
WS Reliable Messaging implementation at the sender and receiver locations ensures that messages are confirmed. For this purpose, the specification defines the format of an acknowledgement that the receiver sends to the sender as confirmation. The sender waits for the confirmation and, if necessary, keeps sending the message until the confirmation is received.
To avoid unnecessary network communication, the receiver does not have to confirm the receipt of every single message individually, but can confirm whole (not necessarily related) messages in one acknowledgement - for example, confirm that messages 1, 3, and 5 have been correctly received.
Since messages 2 and 4 were not confirmed, they are sent again. The sequence is only finished when it has been confirmed that these messages have been successfully received.
Errors during the transfer of a sequence can refer to the sequence or to the message. When a sequence is created, a remote message call is executed. This uses the same configuration settings as the first message that was sent using the sequence. If the message call terminates with an error (for example, Login not possible or Configuration missing on provider side ), the cause of the error is displayed. As soon as the cause of the error is resolved (for example, after correct configuration), the sequence can be restarted using the Sequence Monitor. If there is an error relating to a message, the cause of the error can be displayed in the Sequence Monitor. The message key, the message status, and the user name that were used to process the message are displayed.