- From: Sandeep Kumar <sandkuma@cisco.com>
- Date: Wed, 22 May 2002 21:13:57 -0700
- To: "Prasad Yendluri" <pyendluri@webMethods.com>, "Jacek Kopecky" <jacek@systinet.com>
- Cc: <www-ws-desc@w3.org>
- Message-ID: <GEEIIPGIGJHOLHFLNCJACEJFCHAA.sandkuma@cisco.com>
Prasad: I support your viewpoint that "One way operations SHOULD be able to return Faults." However I disagree with your reliability argument. I agree reliability is at the protocol/transport layer but all the Operations have a semantics associated with it, though implicit. For instance, Req/Resp means that a "response" is *reliably guaranteed* if the *request* reaches the service provider/handler. One could use Reliable or not so reliable transport to guarantee the above semantics. Jacek: If a requestor issues a one-way request such that the End-Point/Service which happens to be in a state of NOT accepting messages (it could be for a variety of reasons), the requestor should get a FAULT from the Service Handler so that it can Re-Try. Comments? Cheers, Sandeep -----Original Message----- From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On Behalf Of Prasad Yendluri Sent: Wednesday, May 22, 2002 12:45 PM To: Jacek Kopecky Cc: www-ws-desc@w3.org Subject: Re: Issue: Can One-Way operations return faults? Jacek, Please see below in <PY> Regards, Prasad Jacek Kopecky wrote: Prasad, I respectfully disagree with making fire-and-forget a special case of one-way-with-fault. Your example of email is not correct because email is unreliable by definition. <PY>Where does reliability enter into picture at the abstract message exchange pattern level? Reliability is a feature of the transport/message service. A service definition at the abstract level makes no guarantees about reliability. Email was an example for the use case where the sender of one-way message would want to lean of a failure but not a success. Substitute anything else for email something that uses SOAP/HTTP at the message level (which are unreliable as well !!). </PY> Messages may disappear without anyone knowing. The fact that this doesn't happen much and the fact that most systems do report failures doesn't really change that - you can never rely on email. <PY>Sorry, irrelevant to the issue per above.</PY> Anyway, my point is that for fire-and-forget you only need one-way data channel. One end can be an SMTP sender and the other end can be a POP3 receiver. <PY>I guess this is not related to the subject issue as well but, I don't believe SMTP<->POP3 interaction is valid. SMTP is an email MTA level protocol and POP3 is a UA protocol.</PY> If a node is able to receive failures, it is able to receive success responses, too. A one-way-with-fault is a special case of request/response with empty response. Already doable in WSDL, I believe. <PY> Not True! Here is the grammar for request/response in the current spec. Note that note that wsdl:output is "required" and not optional. <wsdl:definitions .... > <wsdl:portType .... > * <wsdl:operation name="nmtoken" parameterOrder="nmtokens"> <wsdl:input name="nmtoken"? message="qname"/> <wsdl:output name="nmtoken"? message="qname"/> <wsdl:fault name="nmtoken" message="qname"/>* </wsdl:operation> </wsdl:portType > </wsdl:definitions> The point is one-way with failure notification is a very valid and practical usage pattern. If that can be realized as a special case of request/response or enhanced one-way is acceptable. We need to cover the case and either one requires a change to the current spec. </PY> Best regards, Jacek Kopecky Senior Architect, Systinet (formerly Idoox) http://www.systinet.com/ On Wed, 22 May 2002, Prasad Yendluri wrote: > Jacek, > > I see fire-and-forget as one special case of this that does not really care > about knowing if the request succeeded or not. BTW, here you are describing > this from an *intiator* perspective :-). > > In general there are cases when the sender would want to know if the request > did not succeed. E.g. email, I want to know if there was a problem delivering > the message as in the recipient I am trying to reach is not a valid one etc. > > Regards, Prasad > > > Jacek Kopecky wrote: > > > Prasad, > > I don't believe this is needed. An other name of one-way > > messages is fire-and-forget. This feature is seldom suitable, but > > sometimes you just don't need to know. 8-) > > If we added the possibility of a fault, we would be adding the > > response at the same time, if only because no response == > > success response. > > IMHO one-way operations are exactly that, with the possibility > > of finding out the result or failure by other means, if the > > application requires it. > > My proposal is to resolve this issue by saying "the current way > > is how we want it." > > > > Jacek Kopecky > > > > Senior Architect, Systinet (formerly Idoox) > > http://www.systinet.com/ > > > > On Tue, 21 May 2002, Prasad Yendluri wrote: > > > > > Currently the One-Way operations do not provide for returning faults. > > > That is, they only have a input message but no fault. Does that mean a > > > one-way operation must always succeed? What if the the request is bad or > > > somehow can not be processed and/or meets one of the SOAP-Fault > > > conditions (assuming SOAP binding)? > > > > > > It seems desirable to permit faults with One-Way operations? > > > > > > Comments? > > > > > > Regards, Prasad
Received on Thursday, 23 May 2002 00:14:59 UTC