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.