Proposed text for async

This may or may not be behind the "don't go there" door.  However, it is
short, it requires no changes to the SOAP adjuncts beyond the already
agreed addition of a SOAP one-way MEP, and I believe it unambiguously
defines what to put on the wire for the various combinations of MEP and
endpoint, assuming only that there is some way to determine the
transport binding for a given response EPR (that last item lying behind
a different door we decided not to open).

In particular, it defines clearly what we mean by the anonymous endpoint.

------------------------------------------------------------------------


    N. Binding of WSDL MEPs to transport

The following rules define the required handling of [reply endpoint] and
[fault endpoint], collectively referred to as /response endpoints/, in
the context of the WS-Addressing SOAP binding, when WS-Addressing is
engaged.

In what follows

    * A response endpoint is /used/ if it is the destination of a
      message belonging to the WSDL MEP of the operation being invoked.
    * An endpoint is /anonymous/ if its [address] is the anonymous
      endpoint defined in section 2.1 of the WS-Addressing core.
    * An endpoint is /null/ if its [address] is the "none" endpoint
      defined in section 2.1 of the WS-Addressing core.


      N.1 Anonymous response endpoint used

If an anonymous endpoint is used, then the entire operation MUST comply
with the SOAP request-response MEP defined in section 6.2 of the SOAP
adjuncts, as bound to the transport of the endpoint.

    /NOTE: In the context of the currently defined WSDL 2.0 MEPs, this
    will occur in the following cases:
    /

        * /robust in-only, if a fault is produced and the [fault
          endpoint] is anonymous./
        * /in-out, //if //a normal reply is produced and the [reply
          endpoint] is anonymous./
        * /in-out, //if //a fault is produced and the [fault endpoint]
          is anonymous.
          /


      N.2 Anonymous response endpoint not used

If no anonymous endpoints are used, whether because none are present or
because there is no message with such an endpoint as a destination, the
delivery of the inbound message of the operation MUST comply with the
SOAP one-way MEP (to be defined), as bound to the transport of the endpoint.

    /NOTE: In the context of the currently defined WSDL 2.0 MEPs, this
    will occur in the following cases:
    /

        * /in-only
          /
        * /robust in-only, if no fault is produced
          /
        * /robust in-only, if a fault is produced but the [fault
          endpoint] is not anonymous/
        * /in-out, if a normal reply is produced but the [reply
          endpoint] is not anonymous/
        * /in-out, if a fault is produced but the [fault endpoint] is
          not anonymous
          /


      N.3 Non-anonymous response endpoint used

If a non-anonymous, non-null EPR is used as the destination of an
outbound message, the outbound message MUST comply with the SOAP one-way
MEP (to be defined), as bound to the transport of the EPR in question.

    /NOTE: In the context of the currently defined WSDL 2.0 MEPs, this
    will occur in the following cases:
    /

        * /robust in-only, if a fault is produced and the [fault
          endpoint] is not anonymous and not null.
          /
        * /in-out, if a normal reply is produced //and //the [reply
          endpoint] is not anonymous and not //null//.
          /
        * /in-out, if a fault is produced //and //the [fault endpoint]
          is not anonymous and not //null//.
          /

    /NOTE: In the case of a robust in-only operation MEP with an
    anonymous [fault endpoint], or the case of an in-out MEP where one
    response endpoint is anonymous and the other is not, either rule N.1
    or rules N.2 and N.3 will apply depending on the outcome of the
    operation.  For this reason, bindings for transports which support
    both the SOAP one-way and request-response MEPs must be defined in
    such a way that the inbound message handling is identical for both
    MEPs, and the sender can determine that the operation has completed
    whether or not the anonymous endpoint is used.

    NOTE: In the case of the SOAP/HTTP binding, the WS-Addressing
    working group will assume, for the purposes of testing, that the
    SOAP one-way MEP consists of the request half of the existing
    request-response MEP together with an HTTP 202 response containing
    an empty SOAP envelope.
    /

Received on Monday, 14 November 2005 17:18:30 UTC