RE: SOAP intermediary - issue 70 (cont'd)

This is an interesting case, but I would claim that the 1.2 specification 
does not include any notion at all of one node acting on behalf of 
another.  If a node that you consider in real world terms to be a cache 
chooses to assume the role of the endpoint, it can.  If you think it's 
acting as an intermediary or on "behalf" of another node, I just don't see 
that at all.  If it is understanding and processing messages to the 
anonymous actor (including the body), then it must properly assume that 
role, and it is the endpoint in SOAP 1.2 terms.

I think our choices are:  (a) leave the spec alone, which I think has the 
implications above (b) make a significant change to the specification that 
would introduce a notion of nodes acting on behalf of other nodes, and 
explaining how in this circumstance a node can be both an intermediary and 
a substitute for the endpoint (and therefore not relay the message.)

I lean moderately strongly toward (a). 

------------------------------------------------------------------------
Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------







"Henrik Frystyk Nielsen" <henrikn@microsoft.com>
10/15/01 01:55 PM

 
        To:     "Christopher Ferris" <chris.ferris@sun.com>
        cc:     <Noah_Mendelsohn@lotus.com>, <xml-dist-app@w3.org>
        Subject:        RE: SOAP intermediary - issue 70 (cont'd)



Close :) Processing by an intermediary may NOT result in a message being
forwarded. In a two-way message exchange pattern, a cache may determine
that it can deal with the message and short-circuit the message path
like for example an HTTP cache does. In this case, the cache acts on
behalf of the ultimate destination without actually being the ultimate
destination.

There are also cases where a message path fails and an intermediary
returns a fault. In this case, it *does* act as an initial sender of the
fault message although it doesn't act as the ultimate destination of the
incoming message (this is what the faultactor is for). Maybe the text in
section 2.5 [1] covers this already:

"If the SOAP node is a SOAP intermediary, the SOAP message pattern and
results of processing (e.g. no fault generated) MAY require that the
SOAP message be sent further along the SOAP message path."

Sorry if I have missed this but is this intended for the terminology
section? Does it need to be repeated, or?

Thanks!

Henrik

[1] http://www.w3.org/TR/soap12-part1/#procsoapmsgs

>I don't think that we have dropped it. True, it is implicitly 
>rather than explicitly stated. Maybe the following would 
>address your concerns?
>
>"A SOAP intermediary is both a SOAP receiver and a SOAP sender 
>that is neither the intial SOAP sender nor the ultimate 
>receiver of a SOAP message. A SOAP intermediary is target-able 
>from with a SOAP message by means of the SOAP actor attribute 
>value. A SOAP intermediary MUST process a SOAP message 
>according to the SOAP processing model. A consequence of 
>processing is that the SOAP message is sent further along the 
>SOAP message path to the next SOAP node."

Received on Monday, 15 October 2001 16:03:45 UTC