W3C home > Mailing lists > Public > xml-dist-app@w3.org > March 2002

RE: Issue 192; HTTP binding looks ok

From: Henrik Frystyk Nielsen <henrikn@microsoft.com>
Date: Tue, 19 Mar 2002 10:10:41 -0800
Message-ID: <79107D208BA38C45A4E45F62673A434D06DED839@red-msg-07.redmond.corp.microsoft.com>
To: "Mark Baker" <distobj@acm.org>, "Jacek Kopecky" <jacek@systinet.com>
Cc: <xml-dist-app@w3.org>

IMO, the resolution of this issue [1][2] seems to be very clear on the
relationship between a SOAP fault and HTTP status codes so I am I not
sure I understand the discussion about which is a hint and which is not.
If the two are not in sync then it is a broken binding implementation
that doesn't conform to the spec. Broken implementations should of
course be called out whenever possible.

Btw, the resolution text in [1][2] doesn't actually seem to be
incorporated into [3] - I have added this to the editor's todo list.

Henrik Frystyk Nielsen
mailto:henrikn@microsoft.com

[1] http://lists.w3.org/Archives/Public/xmlp-comments/2001Oct/0003.html
[2] http://lists.w3.org/Archives/Public/xmlp-comments/2002Jan/0021.html
[3]
http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.html#http-reqbindwa
itstate

>>  I think the current text may be interpreted as the message being
>> authoritative, the binding mandating use of 4xx and 5xx for SOAP
>> Faults and the transition table expecting the two sources of
>> "faultness" of the message to be in accord.
>
>Hmm, that's not my interpretation.  In the transition table we see that
>the HTTP status line (e.g. "HTTP/1.1 200 Ok") contains the information
>with which state transitions are determined, independant of the body.
>
>For example, it says that if you're in the Waiting state, and you see a
>response status line saying "HTTP/1.1 200 Ok", then you change state at
>that point (to "Receiving"), whether or not a SOAP fault follows in the
>body.  This is goodness from a REST POV, but also from a performance
>POV; no party has to wait for the body to arrive and be parsed before
>it can take action on a state change, which means lower latency for
>the entire chain.
>
>>  I think that if we decide that ultimately the message is the
>> authoritative source here, we'll just have to add a text saying 
>> that if there is a discord (fault message on 2xx, non-fault on 
>> 4xx, 5xx) it's the same kind of error like receiving an 
>> incomplete envelope - transport error.
>>  Or if we decide that the faultHint is in fact a faultOverride, 
>> we'll have to clarify that.
>>  I understand that taking the HTTP status code as the
>> authoritative source of this information is very REST but as I
>> still favor the tunneling approach and I haven't seen any clear
>> indication from the group that our HTTP binding will be REST, we
>> probably want to get to a compromise.
>>  Using the HTTP error status codes for SOAP faults is not
>> completely against the tunneling approach, but making the status
>> codes override the message is crossing the line, at least for me.
>>  Maybe the group should decide which approach to take in our
>> binding and accept it fully, or make two HTTP bindings.
>
>I hope it doesn't come to that, but I've raised that possibility
>before.  It still surprises me that we've managed to get as far as we
>have without the group having concensus about the relationship between
>SOAP and the underlying protocols.
Received on Tuesday, 19 March 2002 13:11:14 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:09 GMT