- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Wed, 11 May 2005 17:36:42 -0400
- To: "Yalcinalp, Umit" <umit.yalcinalp@sap.com>
- Cc: www-ws-desc@w3.org, www-ws-desc-request@w3.org
- Message-ID: <OFDB31F769.7FC8E705-ON85256FFE.00765681-85256FFE.0076B5BE@ca.ibm.com>
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 Wednesday, 11 May 2005 21:36:48 UTC