W3C home > Mailing lists > Public > public-ws-addressing@w3.org > February 2006

Re: SOAP 1.1 One-way HTTP Binding doc

From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
Date: Mon, 06 Feb 2006 11:58:41 -0800
Message-ID: <43E7AA71.3060804@oracle.com>
To: David Orchard <dorchard@bea.com>
CC: Marc Hadley <Marc.Hadley@Sun.COM>, paul.downey@bt.com, chrisfer@us.ibm.com, distobj@acm.org, dmh@tibco.com, public-ws-addressing@w3.org

David Orchard wrote:
> I'm a little confused by Anish's message because he went from " 
> 
>>>>I might send back a 202 with a WSRX ack after
>>>>processing all the WSRX headers and storing the messages in a DB,
> 
> but
> 
>>>>before processing other non-WSRX headers "
> 
> 

Not sure what was confusing about that.
Were you confused/concerned that the example did not state that all the 
MU checking would be done before the WSRX headers are processed?

What I meant in my example (would that be 0th example?) was:
"... I might send back a 202 with a WSRX ack after >>doing the MU 
check<<, processing all the WSRX headers and storing the messages 
 >>which consists of SOAP body and all the non-WSRX headers<< in a DB, 
but before processing other non-WSRX headers."

Does that make it clearer?

> To 4 examples that more clearly show that the 202 could be sent back
> before any SOAP processing or after all mU=True have been checked for.  
> 
> However, pressing onwards.  I think 1-4 are all valid and I'd roughly
> expect #1 to be the most common.  There's nothing in either the SOAP
> spec or the HTTP spec that constrains a receiver to choose a subset of
> those.  
> 
> Not knowing how an receiver might respond would make a sender probably
> want to put a non-anon FaultTo so it would get the fault in all 4 cases.
> 
> 
> This obviously relates to the anon AcksTo problem in WS-RX.  The RX node
> could pick #1 and the Acks would be lost.
> 
> Cheers,
> Dave
> 
> 
>>-----Original Message-----
>>From: Anish Karmarkar [mailto:Anish.Karmarkar@oracle.com]
>>Sent: Wednesday, February 01, 2006 3:09 PM
>>To: Marc Hadley
>>Cc: paul.downey@bt.com; chrisfer@us.ibm.com; distobj@acm.org;
>>dmh@tibco.com; David Orchard; public-ws-addressing@w3.org; public-ws-
>>addressing-request@w3.org
>>Subject: Re: SOAP 1.1 One-way HTTP Binding doc
>>
>>Marc Hadley wrote:
>>
>>>On Feb 1, 2006, at 1:18 AM, Anish Karmarkar wrote:
>>>
>>>
>>>>>>However, given what Mark observed, I suspect
>>>>>>that we might do well to specify that at a minimum, the SOAP
>>>>>>processing w/r/t SOAP headers MUST be performed before any
> 
> response
> 
>>>>>>is generated, so as to ensure that if a mU fault is  generated,
> 
> it
> 
>>>>>>can be transmitted on the HTTP response (with a 500).
>>>>>
>>>>>Except I might legitimately send back a 202 Accepted following
>>>>>securing the message in a database or putting it onto a reliable
>>>>>message queue, well before any SOAP processing has taken place.
>>>>
>>>>
>>>>+1
>>>>
>>>
>>>That's one alternative.
>>>
>>>
>>>>Or In the WSRX case, I might send back a 202 with a WSRX ack after
>>>>processing all the WSRX headers and storing the messages in a DB,
> 
> but
> 
>>>>before processing other non-WSRX headers.
>>>>
>>>
>>>That idea trouble me a bit, the SOAP processing model is all or
>>>nothing, allowing some headers to be processed and others to be
> 
> ignored
> 
>>>(at least for mU processing) diverges from the spec as I read  it.
>>>
>>
>>I was not suggesting that the receiver not follow the SOAP processing
>>model. The non-WSRX headers in the example above are indeed processed,
>>but they are processed after 202 is sent back. The SOAP processing
> 
> model
> 
>>does not impose any header processing order. There are several ways
> 
> the
> 
>>receiver can process the message while staying within the processing
>>model. HTTP 202 status code is intentionally non-committal. The
> 
> question
> 
>>I think we should consider is: do we want to restrict when the 202
> 
> gets
> 
>>sent. Some examples/scenarios of when 202 could be sent:
>>
>>1) receiver sends 202 after all the bytes are received correctly (with
>>the right HTTP headers/media type), >>but before the SOAP message is
>>processed at all<<. The message gets stored in some message store.
> 
> Batch
> 
>>processing of all messages is done once per day. If there is a fault
>>that is generated it is sent to wsa:FaultTo. If there is reply to be
>>sent, it is sent to wsa:ReplyTo. Both wsa:FaultTo and wsa:ReplyTo are
>>non-anonymous.
>>
>>2) receiver sends 202 after all the bytes are received correctly (with
>>the right HTTP headers/media type), >>and after all the MU processing
>>(check to ensure that all MU=1 headers are understood, else generating
>>MU fault) is done, but before the headers and body are processed<<.
> 
> The
> 
>>message gets stored in some message store. Batch processing of all
>>messages is done once per day. If there is a fault that is generated
> 
> it
> 
>>is sent to wsa:FaultTo. If there is reply to be sent, it is sent to
>>wsa:ReplyTo. Both wsa:FaultTo and wsa:ReplyTo are non-anonymous.
>>
>>3) receiver sends 202 after all the bytes are received correctly (with
>>the right HTTP headers/media type), >>and after all the MU processing
>>(check to ensure that all MU=1 headers are understood, else generate
> 
> MU
> 
>>fault) is done and after the headers are processed<<. The message
> 
> (with
> 
>>only soap body and no headers) gets stored in some message store.
> 
> Batch
> 
>>processing of all messages is done once per day. If there is fault
> 
> that
> 
>>is generated that is sent to wsa:FaultTo. If there is reply to be
> 
> sent,
> 
>>it is sent to wsa:ReplyTo. Both wsa:FaultTo and wsa:ReplyTo are
>>non-anonymous.
>>
>>4) receiver sends 202 after all the bytes are received correctly (with
>>the right HTTP headers/media type), >>and after all the MU processing
>>(check to ensure that all MU=1 headers are understood, else generate
> 
> MU
> 
>>fault) is done and after the headers and body are processed<<.
>>
>>Are you suggesting that only (2), (3) and (4) should be allowed but
> 
> not
> 
>>(1)? The way I see it, I don't see why (1) should not be allowed -- we
>>are after all trying to do a "one-way" over HTTP and 202 is
>>intentionally non-committal (wrt the processing of the received
>>message). IOW, what can the sender assume when it gets back a 202? I
>>would say: not much other than the fact that the bytes were correctly
>>transmitted/transfered.
>>
>>Comments?
>>
>>-Anish
>>--
> 
> 
Received on Monday, 6 February 2006 19:59:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:35:11 GMT