Here is a new proposal for dealing with anonymous endpoints and "return
to sender" semantics. It keeps anonymous roughly as it is, without
mentioning NATs and so forth, and adds "return to sender" as a separate
pseudo-address. I've also added a note trying to clarify the difference
between the two URIs, and I've explicitly added [destination] as a
property that can be anonymous (we give that as its default value).
The /dev/null pseudo-address would also fit in here.
------------------------------------------------------------------------
Replace the paragraph reading
Due to the range of network technologies currently in wide-spread
use (e.g., NAT, DHCP, firewalls), many deployments cannot assign a
meaningful global IRI to a given endpoint. To allow these
"anonymous" endpoints to send and receive messages, WS-Addressing
defines the following pre-defined URI for use by endpoints that
cannot have a stable, resolvable IRI:
"http://www.w3.org/@@@@/@@/addressing/anonymous". Messages whose
[reply endpoint], [source endpoint] and/or [fault endpoint] use this
address MUST rely on some out-of-band mechanism for delivering
replies or faults (e.g. returning the reply on the same transport
connection).
With this text:
In many cases, the destination to which to send a particular message
will be clear from context, but it may not be possible to assign
this destination a valid, stably resolvable IRI. To allow such
endpoints to send and receive messages, WS-Addressing defines the
following pre-defined URI
"http://www.w3.org/@@@@/@@/addressing/anonymous". Messages whose
[destination], [reply endpoint], [source endpoint] and/or [fault
endpoint] use this address MUST rely on some out-of-band mechanism
for delivery (e.g. returning the reply on the same transport
connection, or sending to a previously agreed-upon destination).
In many cases, the sender of a message may wish to receive responses
or faults directly, and the underlying transport may support this,
even though the sender may not have a valid, stably resolvable
IRI. To allow such endpoints to receive messages, WS-Addressing
defines the following pre-defined URI:
"http://www.w3.org/@@@@/@@/addressing/sender
<http://www.w3.org/@@@@/@@/addressing/anonymous>". This URI MAY be
used as the [address] of the [reply endpoint] and/or [fault
endpoint] addressing property, but SHOULD NOT be so used if the
transport binding is known not to provide a return facility.
Note that in some cases the implicit destination for messages sent
to the anonymous address may be the sender. In such a case, the
/anonymous/ and /sender/ URIs will have the same effect.
Nonetheless, the two URIs signal different intents. The anonymous
URI requests the message be sent to a previously agreed-upon
destination, which might or might not be the sender. The sender URI
specifically requests the message be sent to the sender, regardless
of any out-of-band agreement. The anonymous URI may also be used as
a [destination] or [source endpoint], while the sender URI should
not be used for this purpose.