Re: Action item for cr23: cr15 resolution nullified cr4 resolution: proposed text

I really hate to say this:  This just doesn't work as it stands.  I
think I can see where it's going, I appreciate the effort, but right
now, it just doesn't work.  But at least it's concrete text and we can
work with it.

First, it loses one of the main points of CR 15, namely that using
anonymous for a response endpoint in a request means to send back the
response in the response message /of the same message exchange/.  This
seemed a bit pedantic the first time round, more a belt-and-braces
thing, but given that AcksTo is meant to mean the response message of
/other/ message exchanges (whichever they may be), the distinction seems
crucial.  If I use anonymous in [reply endpoint], I don't want to get a
202 back and get the actual reply in response to some later message. 
This may seem clear now, but once WS-RX is deployed the line will blur
and later implementors may well either have questions or (worse) scratch
their heads and say "Hmm, that seems odd, but the spec says it's OK and
we should be consistent with acks."

However, this is easily fixed by sharpening "sending it as the response
message of the MEP" to "sending it as the response message of the same
message exchange as the request," as we did in resolving CR 15.

Second, this text no longer says that using anonymous response endpoints
means use the SOAP 1.1/HTTP binding unchanged, but this probably follows
from the text as it stands.  If not, the text from the resolution of CR
15 can be re-inserted.

My larger concern is how one would build on this.  I may use anonymous
as the address of any EPR.  What this means depends on the MEP and
definition of the EPR in question (i.e., whether it's [destination],
[reply endpoint], AcksTo or whatever, IIUC).  The SOAP request-response
MEP defines a channel for response messages.

Is this meant to say that, in the context of a SOAP request-response
MEP, use of anonymous MUST refer to use of the response message, or that
it MAY refer to it?  If it's MUST, this disallows the proposed use for
cases where a TCP connection is kept open.  If it's MAY, then referring
to anonymous doesn't guarantee use of the back channel.  If it's
neither, just exactly what are we saying?

If we're trying to say that, in the context of request-response,
anonymous always and only refers to the response message of
request-response, then fine, but then let's say it in as many words.

Looking back at CR 4 and CR 15, it appears that CR4 was proposed as a
slight tweak to the text on anonymous, while CR 15 was the result of a
more lengthy review and rewrite.  As such, and given that CR 15 was
adopted more recently, I believe it would be better to hew more closely
to that text.  Assuming that we want to state that anonymous MUST /[or
MAY]/ refer to the response channel (or MAY do), I believe we can amend
the resolution to CR 15 as follows.

Additions are in green and deletions are in strikethrough.  For those
reading in the archives, I've attached the HTML of this message.  The
text inserted at the beginning is based on, but not identical, the text
proposed for the action item.


          5.1 Use of Anonymous Address in SOAP

    The "http://www.w3.org/@@@@/@@/addressing/anonymous" URI MAY be
    specified as the [address] of an EPR.  The exact meaning of this
    depends on the underlying SOAP protocol binding, the Message
    Exchange Pattern (MEP) in use and on whether the URI occurs in a
    response endpoint, as the [destination] property, or in some other
    context.


            5.1.1 SOAP 1.1/HTTP

    When "http://www.w3.org/@@@@/@@/addressing/anonymous" is used in the
    context of the SOAP 1.1/HTTP binding, it MUST /[or MAY] /refer to
    the use of the HTTP response message.  When in particular it is
    specified for the response endpoint then there is no change to the
    SOAP 1.1/ HTTP binding.


            5.1.2 SOAP 1.2

    When "http://www.w3.org/@@@@/@@/addressing/anonymous" is used in the
    context of  specified for the response endpoint and the request is
    the request part of a SOAP request-response MEP [SOAP 1.2 Part 2:
    Adjuncts
    <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>],
    then it MUST /[or MAY]/ refer to the use of the response message of
    the exchange.  When in particular it is used in a response endpoint
    in a request message, any response MUST be the response part of the
    same SOAP request-response message exchange [SOAP 1.2 Part 2:
    Adjuncts
    <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>].

Since we're here, here's how the resolution of CR 18 would work, as a
delta to the above.


          5.1 Use of Anonymous Address in SOAP

    The "http://www.w3.org/@@@@/@@/addressing/anonymous" URI MAY be
    specified as the [address] of an EPR.  The exact meaning of this
    depends on the underlying SOAP protocol binding, the Message
    Exchange Pattern (MEP) in use and on whether the URI occurs in a
    response endpoint, as the [destination] property, or in some other
    context.  Except as defined in this section, this binding assigns no
    particular semantics to the use of
    "http://www.w3.org/@@@@/@@/addressing/anonymous".

    When an anonymous response endpoint is used for a response, the
    rules in section 3.4 of the WS-Addressing Core dictate that the
    [destination] property of the response MUST also be
    "http://www.w3.org/@@@@/@@/addressing/anonymous". In this case, the
    anonymous address refers to the use of the underlying response message.


            5.1.1 SOAP 1.1/HTTP

    When "http://www.w3.org/@@@@/@@/addressing/anonymous" is used in the
    context of the SOAP 1.1/HTTP binding, it MUST /[or MAY] /refer to
    the use of the HTTP response message.  When in particular it is
    specified for the response endpoint then there is no change to the
    SOAP 1.1/ HTTP binding.


            5.1.2 SOAP 1.2

    When "http://www.w3.org/@@@@/@@/addressing/anonymous" is used in the
    context of  a SOAP request-response MEP [SOAP 1.2 Part 2: Adjuncts
    <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>],
    then it MUST /[or MAY]/ refer to the use of the response message of
    the exchange.  When in particular it is used in a response endpoint
    in a request message, any response MUST be the response part of the
    same SOAP request-response message exchange [SOAP 1.2 Part 2:
    Adjuncts
    <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>].


Katy Warr wrote:

>
> Further to my action on Monday to propose resolution text for CR23,
> here is a suggestion.  I've tried to maintain the previously agreed
> text from CR4 and CR15 where possible.  
>
> The intention is that the first paragraph enables the use of anonymous
> EPR in semantics including (but not exclusive to) replyTo and faultTo
> (such as WS-RX acksTo).  This satisfies CR4.
>
> The second paragraph gives the semantics specific to replyTo/faultTo -
> this is very similar to the resolution of CR15 but specific to the
> replyTo/faultTo scenario so that it does not undo the resolution to
> CR4 in the first paragraph.
>
> This text is applicable to section 5.1 of the SOAP binding document.
>
> -------------------------
> The "http://www.w3.org/@@@@/@@/addressing/anonymous" URI MAY be
> specified as
> the [address] of an EPR to designate that the target endpoint is
> reached by a channel of the underlying SOAP protocol binding.
> The specification of the channel to which the
> "http://www.w3.org/@@@@/@@/addressing/anonymous" URI refers depends on
> the
> Message Exchange Pattern (MEP) and on the
> defined semantics of the EPR in question.  Any underlying protocol
> binding supporting the SOAP
> request-response MEP provides such a channel for
> response messages.
>                                                  
> In the context of a SOAP request-response MEP, sending a response
> message to a
> ReplyTo or FaultTo
> EPR whose [address] is "http://www.w3.org/@@@@/@@/addressing/anonymous"
> means sending it as the response message of the MEP.
> For instance, the SOAP 1.2 HTTP binding[SOAP 1.2 Part 2: Adjuncts]
> puts the reply message in the HTTP response.
> --------------------------
>
> We may be able to omit the sentence:  " Any underlying protocol
> binding supporting the SOAP
> request-response MEP provides such a channel for
> response messages. "
>
> This second paragraph requires restructure to fit with the SOAP
> 1.1/HTTP and SOAP 1.2 split in the editors'
> draft.  I suggest that we defer this until we have reached agreement
> on the general structure of the text above.
>
> thanks
> Katy 

Received on Wednesday, 22 February 2006 19:26:24 UTC