RE: What is the purpose of #none?

 

> -----Original Message-----
> From: www-ws-desc-request@w3.org 
> [mailto:www-ws-desc-request@w3.org] On Behalf Of Martin Gudgin
> Sent: Thursday, May 12, 2005 3:41 PM
> To: Jonathan Marsh; Yalcinalp, Umit; Arthur Ryman; Sanjiva Weerawarana
> Cc: www-ws-desc@w3.org
> Subject: RE: What is the purpose of #none?
> 
> 
> You might also have a input message that has SOAP headers but an empty
> SOAP body.
> 

You are right. This is why I want to put more clarification into the
primer explaining when you may want to use it. 

> Gudge
> 

--umit

> > -----Original Message-----
> > From: www-ws-desc-request@w3.org 
> > [mailto:www-ws-desc-request@w3.org] On Behalf Of Jonathan Marsh
> > Sent: 12 May 2005 15:02
> > To: Yalcinalp, Umit; Arthur Ryman; Sanjiva Weerawarana
> > Cc: www-ws-desc@w3.org
> > Subject: RE: What is the purpose of #none?
> > 
> > 
> > Yes, this example looks a bit strange when only the SOAP over HTTP
> > binding is considered, as one could instead model this as a 
> > out-only and
> > bind to the SOAP Response MEP.  There are a couple of reasons 
> > you might
> > not want to do that: first, you might not be using HTTP, or 
> you might
> > not trust that the SOAP Response MEP is supported on the 
> > other end; for
> > instance, you're using SOAP 1.1 or you are worried about the 
> > deployment
> > of the SOAP Response MEP among your client base.
> > 
> > It doesn't seem to me that the primer is promoting 
> something that goes
> > against our current idea of best practice.
> > 
> > > -----Original Message-----
> > > From: www-ws-desc-request@w3.org 
> [mailto:www-ws-desc-request@w3.org]
> > > On Behalf Of Yalcinalp, Umit
> > > Sent: Thursday, May 12, 2005 10:21 AM
> > > To: Arthur Ryman; Sanjiva Weerawarana
> > > Cc: www-ws-desc@w3.org; www-ws-desc-request@w3.org
> > > Subject: RE: What is the purpose of #none?
> > > 
> > > I just would like to get a feeling of the working groups 
> > understanding
> > > of interaction of #none and the semantics of MEPs.
> > > 
> > > The questions are very basic:
> > > 
> > > Considering JUST the abstract level of WSDL:
> > > 
> > > -- What is the difference between the following two cases?
> > > -- Why should a description choose one over the other? (or 
> > What is the
> > > use case that needs to be differentiated for the 
> > specification and for
> > > the primer? The definition of #none is very terse in the 
> > spec and does
> > > not help someone using WSDL)
> > > 
> > > 
> > > (A)
> > > <interface name="fooInterface">
> > >    <operation name="bogusinout"
> > > pattern="http://www.w3.org/2005/05/wsdl/in-out">
> > >          <input messageLabel="In" element="#none" />
> > >          <output messageLabel="Out" element="tns:myoutput" />
> > >    </operation>
> > > </interface>
> > > 
> > > (B)
> > > 
> > > <interface name="foo2Interface">
> > >    <operation name="realout"
> > > pattern="http://www.w3.org/2005/05/wsdl/out-only">
> > >          <output messageLabel="Out" element="tns:myoutput" />
> > >    </operation>
> > > </interface>
> > > 
> > > 
> > > 
> > > Further, can I have the following? (or variations of these you can
> > > just imagine...). It is perfectly legal of course.
> > > 
> > > 
> > > <interface name="MayBeNoOpInterface">
> > >    <operation name="whatever"
> > > pattern="http://www.w3.org/2005/05/wsdl/in-only">
> > >          <output messageLabel="Out" element="#none" />
> > >    </operation>
> > > </interface>
> > > 
> > > Why would someone use this?
> > > 
> > > I have answers to them, however I just want to hear from folks who
> > > wanted to put #none in the spec in the first place to refresh my
> > > memory about the motivation.
> > > 
> > > --umit
> > > 
> > > 
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > 	From: Arthur Ryman [mailto:ryman@ca.ibm.com]
> > > 	Sent: Thursday, May 12, 2005 9:39 AM
> > > 	To: Sanjiva Weerawarana
> > > 	Cc: Yalcinalp, Umit; www-ws-desc@w3.org; www-ws-desc-
> > > request@w3.org
> > > 	Subject: Re: What is the purpose of #none?
> > > 
> > > 
> > > 
> > > 	Sanjiva,
> > > 
> > > 	I thought #none was introduced to support the case where there
> > > was a SOAP body, but the body was empty, i.e. had no 
> child elements.
> > > 
> > > 	This is a different situation than an RPC style no-argument SOAP
> > > body which does contain a single empty child element.
> > > 
> > > 	In both of these cases, the MEP is still input-output, NOT
> > > output-only.
> > > 
> > > 	Is that correct?
> > > 
> > > 	Arthur Ryman,
> > > 	Rational Desktop Tools Development
> > > 
> > > 	phone: +1-905-413-3077, TL 969-3077
> > > 	assistant: +1-905-413-2411, TL 969-2411
> > > 	fax: +1-905-413-4920, TL 969-4920
> > > 	mobile: +1-416-939-5063, text: 4169395063@fido.ca
> > > 	intranet: http://labweb.torolab.ibm.com/DRY6/
> > > 
> > > 
> > > 
> > > 	Sanjiva Weerawarana <sanjiva@opensource.lk>
> > > 	Sent by: www-ws-desc-request@w3.org
> > > 
> > > 	05/12/2005 11:13 AM
> > > 
> > > 
> > > 		To
> > > 		Arthur Ryman/Toronto/IBM@IBMCA
> > > 		cc
> > > 		"Yalcinalp, Umit" <umit.yalcinalp@sap.com>, www-ws-
> > > desc@w3.org, www-ws-desc-request@w3.org
> > > 		Subject
> > > 		Re: What is the purpose of #none?
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 	Hi Arthur,
> > > 
> > > 	#none means there's *no input*, period. Its not that there are
> > > no
> > > 	arguments .. there will be no body at all.
> > > 
> > > 	The usecase is some operation where just by connecting to the
> > > EPR its
> > > 	clear what must be sent back.
> > > 
> > > 	Sanjiva.
> > > 
> > > 	On Thu, 2005-05-12 at 08:20 -0400, Arthur Ryman wrote:
> > > 	>
> > > 	> Umit,
> > > 	>
> > > 	> I guess I didn't provide the motivation.
> > > 	>
> > > 	> Suppose you have an operation that takes no input arguments.
> > > It is
> > > 	> still a request-response, but the request is empty, e.g. get
> > > the
> > > 	> current time of day.
> > > 	>
> > > 	> Arthur Ryman,
> > > 	> Rational Desktop Tools Development
> > > 	>
> > > 	> phone: +1-905-413-3077, TL 969-3077
> > > 	> assistant: +1-905-413-2411, TL 969-2411
> > > 	> fax: +1-905-413-4920, TL 969-4920
> > > 	> mobile: +1-416-939-5063, text: 4169395063@fido.ca
> > > 	> intranet: http://labweb.torolab.ibm.com/DRY6/
> > > 	>
> > > 	>
> > > 	> Arthur Ryman/Toronto/IBM@IBMCA
> > > 	> Sent by:
> > > 	> www-ws-desc-request@w3.org
> > > 	>
> > > 	> 05/11/2005 05:36 PM
> > > 	>
> > > 	>
> > > 	>                To
> > > 	> "Yalcinalp, Umit"
> > > 	> <umit.yalcinalp@sap.com>
> > > 	>                cc
> > > 	> www-ws-desc@w3.org, www-ws-desc-request@w3.org
> > > 	>           Subject
> > > 	> Re: What is the
> > > 	> purpose of #none?
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	> Umit,
> > > 	>
> > > 	> #none means the message is empty.
> > > 	>
> > > 	> Arthur Ryman,
> > > 	> Rational Desktop Tools Development
> > > 	>
> > > 	> phone: +1-905-413-3077, TL 969-3077
> > > 	> assistant: +1-905-413-2411, TL 969-2411
> > > 	> fax: +1-905-413-4920, TL 969-4920
> > > 	> mobile: +1-416-939-5063, text: 4169395063@fido.ca
> > > 	> intranet: http://labweb.torolab.ibm.com/DRY6/
> > > 	>
> > > 	> "Yalcinalp, Umit"
> > > 	> <umit.yalcinalp@sap.com>
> > > 	> Sent by:
> > > 	> www-ws-desc-request@w3.org
> > > 	>
> > > 	> 05/10/2005 09:45 PM
> > > 	>
> > > 	>
> > > 	>
> > > 	>                To
> > > 	> <www-ws-desc@w3.org>
> > > 	>                cc
> > > 	>
> > > 	>           Subject
> > > 	> What is the
> > > 	> purpose of #none?
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	>
> > > 	> While I was reading the primer on service references, I came
> > > across an
> > > 	> interesting example in our primer. Apart from the fact that
> > > primer
> > > 	> talks about both Service and Endpoint references in Section
> > > 7.9 and
> > > 	> the reader is baffled about the differences here (endpoint
> > > references
> > > 	> are not introduced anywhere before) which is not the purpose
> > > of this
> > > 	> email,  example 7.14 is particularly interesting:
> > > 	>
> > > 	> <interface name="reservationDetailsInterface">
> > > 	>   <operation name="retrieve"
> > > 	> pattern="http://www.w3.org/2005/05/wsdl/in-out">
> > > 	>        <input messageLabel="In" element="#none" />
> > > 	>        <output messageLabel="Out"
> > > 	> element="wdetails:reservationDetails" />
> > > 	>  </operation>
> > > 	> ...
> > > 	> Check out the binding:
> > > 	> <binding name="reservationDetailsSOAPBinding"
> > > 	>             interface="tns:reservationDetailsInterface"
> > > 	>             type="http://www.w3.org/2005/05/wsdl/soap"
> > > 	>
> > > wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
> > > 	>
> > > 	>             <operation ref="tns:retrieve"
> > > 	> wsoap:mep="http://www.w3.org/2003/05/soap/mep/request-
> > > response" />
> > > 	>          <operation ref="tns:update"
> > > 	> wsoap:mep="http://www.w3.org/2003/05/soap/mep/request-
> > > response" />
> > > 	> </binding>
> > > 	>
> > > 	> The intent here appears to be that a "retrieve" action will
> > > cause
> > > 	> reservation details to be sent to the caller when an empty
> > > message is
> > > 	> received. According to our spec, this is perfectly legitimate,
> > > because
> > > 	> we allow empty messages, hence empty SOAP bodies to act as a
> > > trigger
> > > 	> for the response message. This pattern here seems like a poor
> > > man's
> > > 	> SOAP response MEP,  which is modeled on top of SOAP request-
> > > response
> > > 	> MEP by passing the request message using WSDL request-response
> > > MEP.
> > > 	> Aren't we confused yet ? ;-)
> > > 	>
> > > 	> I am wondering why we wanted to allow #none. It seems the
> > > whole
> > > 	> purpose is to paypass a designed MEP to masquarade as another.
> > > Can
> > > 	> someone refresh my memory why we wanted to allow element
> > > content to be
> > > 	> empty again? (As a side comment, can anyone truly believe that
> > > this
> > > 	> kind of a WSDL definition will be usable by a service provider
> > > without
> > > 	> a mandatory SOAP Action header  if many pseudo-output MEPs
> > > similar to
> > > 	> the one quoted above were to be assigned to the same endpoint?
> > > )
> > > 	>
> > > 	> Do we really want to promote this usecase in the Primer?
> > > 	>
> > > 	> End-Of-Rant,
> > > 	>
> > > 	> --umit
> > > 	>
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > 
> 
> 

Received on Saturday, 14 May 2005 00:45:24 UTC