3.3 Formulating a Reply Message
This section specifies Addressing-specific rules for creating a reply or fault message using the appropriate message addressing properties.
Select the appropriate EPR:
If the reply is a normal message, select the EPR from the incoming message's [reply endpoint] message addressing property. If none is present, the processor MUST fault.
Otherwise, if the reply is a fault message and the incoming message's [fault endpoint] message addressing property is not empty, select the EPR from that property. If the [fault endpoint] property is empty, select the EPR from the incoming message's [reply endpoint] message addressing property. Otherwise, if the [reply endpoint] property is empty, the behavior of the recipient of the incoming message is unconstrained by this specification.
In either case, if the incoming message lacks a [message id] property, the processor MUST fault.
Populate the reply message's message addressing properties:
[destination]: this property takes the value of the selected EPR's [address] property
[relationship]: a new pair of IRIs is added to this value as follows; the relationship type is the predefined reply URI "http://www.w3.org/@@@@/@@/addressing/reply" and the related message's identifier is the [message id] property value from the message being replied to; other relationships MAY be expressed in this property
[reference parameters]: this property takes the value of the selected EPR's [reference parameters] property
The following example illustrates a request message containing message addressing properties serialized as header blocks in a SOAP 1.2 message:
Example 3-1. Example request message.
http://example.com/someuniquestring
http://example.com/business/client1
mailto:fabrikam@example.com
http://example.com/fabrikam/mail/Delete
42
This message would have the following property values:
[destination]: "mailto:fabrikam@example.com"
[reply endpoint]: The endpoint with [address] "http://example.com/business/client1"
[action]: "http://example.com/fabrikam/mail/Delete"
[message id]: "http://example.com/someuniquestring"
The following example illustrates a reply to the above message:
Example 3-2. Example response message.
http://example.com/someotheruniquestring
http://example.com/someuniquestring
http://example.com/business/client1
http://example.com/fabrikam/mail/DeleteAck
This message would have the following property values:
[destination]: "http://example.com/business/client1"
[action]: "http://example.com/fabrikam/mail/DeleteAck"
[message id]: "http://example.com/someotheruniquestring"
[relationship]: ("http://www.w3.org/@@@@/@@/addressing/reply", "http://example.com/someuniquestring")