3.2.4.1 SEND_RESPONSE Event

This event is signaled by the higher-layer logic to send a response message related to a request message previously provided by the RMS role. This event MUST be signaled with the following arguments:

  • Response: A response message.

  • Request Identifier: A unique identifier provided by the RMS role with the request message related to Response

If SEND_RESPONSE is signaled, the RMD role MUST perform the following actions:

  • Look up a Response Holder in the Response List where the value of the Request Identifier field is equal to the value of Request Identifier.

  • If the lookup is successful:

    • If the value of the [action] addressing property is not empty:

      • Add a Sequence header block to the header element of Response.

      • Set the value of the Identifier element in the Sequence header block in the header element of Response to the value of the Outbound Sequence Identifier field.

      • Set the value of the MessageNumber element in the Sequence header block in the header element of Response to Next Sequence Number.

      • Increment the value of Next Sequence Number by 1.

    • Otherwise:

      • If the value of the WSRM Version field is equal to WSRM10:

        • Set the value of the [action] addressing property of Response to SequenceAcknowledgement.

      • Otherwise:

        • Set the value of the [action] addressing property of Response to SequenceAcknowledgement.

    • Signal the PREPARE_ACKNOWLEDGEMENT event passing Response.

    • Set the Response message of the Response Holder to Response.

    • Set the value of the State field of the Response Holder to RESPONSE_KNOWN.

    • Send Response by using the underlying protocol passing Request Identifier.

  • Otherwise:

    • Raise the FAULT event.