- From: Christopher B Ferris <chrisfer@us.ibm.com>
- Date: Mon, 6 Feb 2006 16:30:56 -0500
- To: Anish Karmarkar <Anish.Karmarkar@oracle.com>
- Cc: David Hull <dmh@tibco.com>, "public-ws-addressing@w3.org" <public-ws-addressing@w3.org>, public-ws-addressing-request@w3.org
- Message-ID: <OF51EB4C83.41D8B451-ON8525710D.007586F1-8525710D.007630AC@us.ibm.com>
+1 Christopher Ferris STSM, Emerging e-business Industry Architecture email: chrisfer@us.ibm.com blog: http://www.ibm.com/developerworks/blogs/dw_blog.jspa?blog=440 phone: +1 508 377 9295 public-ws-addressing-request@w3.org wrote on 02/06/2006 04:04:40 PM: > > There is also another case: > > * I send you a message. > * You don't ack it immediately, but instead just send an empty 202. > * I send you another message > * You send me WS-RX acks for the previous message. But the ack header > does not acknowledge the current message. > > -Anish > -- > > David Hull wrote: > > In the case of WS-RX acks coming back in the HTTP response with any > > application-level response going elsewhere, just which cases are we > > considering? I can think of at least two: > > > > 1. WS-RX ack of the HTTP request > > > > * I send you a message. > > * You send me back a WS-RX ack of that message with a 202. You > > might also send some other message somewhere, but I don't > > think that's relevant here. > > > > 2. General WS-RX ack, for example > > > > * I send you a message. > > * You don't ack it immediately, but instead just send an empty 202. > > * I send you another message > > * You send me WS-RX acks for both messages. > > > > Case 1 seems almost pointless. If all I need to know is that you got > > the message, any HTTP response will do. > > > > Case 2 seems much more useful. In this case the HTTP response (whatever > > it is) means you got the message, while the WS-RX ack means something > > else, e.g., you were able to forward it on and it reached its final > > destination. > > > > >From a SOAP MEP point of view I don't see much difference between 1 > > and 2 (except that 1 always expects a non-empty 202). Case 2 can be > > viewed as abuse of HTTP, particularly since 202 seems to be aimed at > > conveying status of the particular HTTP response. On the other hand, > > one can argue that the sender is legitimately POSTing messages to be > > delivered and the receiver is legitimately responding with status > > information. It really depends on how you view the flow, which is why I > > tend to fall back to whether the wire-level behavior works. > > > > Actually, there's an interesting third option, a variant of the second. > > Here's one possible example: > > > > * I send you a message > > * You send back an empty 202. > > * I send you a request message > > * You send back a response, with a 200. That message also happens > > to contain a WS-RX header with an ack for my first message. > > > > My personal feeling (at the moment) is that case 2 is not quite right, > > because of the semantics defined for 202, but /would/ be alright (and in > > line with case 3) if the acks had a 200 status. This takes the view > > that the acks are a SOAP-level response just like any other. Whatever's > > receiving and dispatching the response has to take this into account: It > > might get back a 200 response that doesn't filter up to the > > application. Put another way, the various WS* headers may not all be > > visible to the application, and given this, it's possible that there's > > nothing left after they've been filtered out. > > > > The key question here in any case is, does the receiver of a message > > know enough to handle it appropriately? I'm particularly concerned > > about non-empty 202 messages in this respect, and I'd like to see a bit > > more detail about how they would be dispatched. >
Received on Monday, 6 February 2006 21:31:31 UTC