- From: Peter Saint-Andre <stpeter@jabber.org>
- Date: Wed, 18 Jan 2006 13:51:42 -0700
- To: David Hull <dmh@tibco.com>
- Cc: "xml-dist-app@w3.org" <xml-dist-app@w3.org>
- Message-ID: <43CEAA5E.8070709@jabber.org>
David Hull wrote: > In a previous message [1] I mentioned some potential concerns with > SOAP/XMPP, but hadn't had a chance to look through the relevant specs in > detail. Now that I have, I'd like to amplify what I said before just a bit. > > * From the viewpoint of transport protocols (if it's not a sin to > view a Presence Protocol as a transport protocol :-) I see two > separate protocols: <iq/> and <message/> > * <iq/> is basically request-response oriented. > * <message/> is essentially one-way, even though it natively > supports to/from addressing and message id. > > I'm reasonably happy with binding SOAP request-response to <iq/>. I'm > less happy with binding it to <message/>. On the other hand, I would > very much like to see a SOAP one-way MEP defined and bound to <message/>. > > The description of the SOAP request-response MEP states that, "In the > absence of failure in the underlying protocol, this MEP consists of > exactly two SOAP messages [or a SOAP message and an ack, if we go that > way]." If understand the SOAP/XMPP proposal correctly, the > <message/>-based binding does not guarantee either a response or a > failure. It seems quite possible for me to send you a <message/> and > you to simply disregard it, essentially staying in the sending+receiving > state forever. That is accurate. The XMPP <message/> stanza is really fire-and-forget (or to use your more accurate phrase, "two correlated one-way messages") because it does not have guaranteed request-response semantics (as <iq/> does). > The protocol is working fine, but I'm not. For my > money, this is the primary distinction between "request-response" and > "two correlated one-way messages." > > On the other hand, defining a one-way MEP over <message/>, which would > basically just mean getting rid of almost everything but the description > of how to put the SOAP envelope into a stanza, would allow for both > clean one-way SOAP messaging and for "asynchronous request-response". > If you're doing plain request-response (i.e., anonymous response > endpoints), you would use <iq/>. If you're doing anything else, you'd > use <message/>. I'll be happy to update JEP-0072 ("SOAP Over XMPP") to reflect whatever MEP consensus we reach here. Peter -- Peter Saint-Andre Jabber Software Foundation http://www.jabber.org/people/stpeter.shtml
Received on Wednesday, 18 January 2006 20:51:38 UTC