- From: Hugo Haas <hugo@w3.org>
- Date: Fri, 5 Aug 2005 15:27:00 +0200
- To: public-ws-desc-comments@w3.org
- Message-ID: <20050805132700.GH18292@w3.org>
Comment on:
Web Services Description Language (WSDL) Version 2.0 Part 2:
Adjuncts
http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050803/
and:
Web Services Description Language (WSDL) Version 2.0 SOAP 1.1
Binding
http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050803/
{soap action} is defined as a property of Binding Operation
component[4]:
{soap action} OPTIONAL. A xs:anyURI, which is an absolute IRI as
defined by [IETF RFC 3987], to the Binding Operation component.
The value of this property identifies the value of the SOAP
Action Feature (as defined for this specific operation), as
specified in the binding rules of bindings to specific versions
of SOAP (see 5.11.3 Default Binding Rules for the SOAP 1.2
binding when the value of the {soap version} property of the
Binding component is "1.2").
The SOAP 1.2 binding states[5]:
SOAP Action Feature. If a value for the {soap action} property of
a Binding Operation component has NOT been specified then the
SOAP Action Feature (see [SOAP 1.2 Part 2: Adjuncts]) has NO
value assigned by the Binding component. Otherwise, the value of
the {soap action} property of a Binding Operation component is
the value of the SOAP Action Feature for all messages of the
corresponding Interface Operation component.
The SOAP 1.1 binding states[6]:
The value of the {soap action} property identifies the value of
the SOAP 1.1 SOAPAction HTTP request header field, Section 6.1.1,
SOAP 1.1 specification [SOAP11].
I believe that this is the wrong granularity. The SOAPAction HTTP
header in SOAP 1.1[1] and the SOAP Action Feature in SOAP 1.2[2] are
properties of a message. It is unclear, as shown by WS-Addressing and
its wsa:Action[3] which has similar properties and motivations, that a
single action value can be applied to all the messages of an
operation in all cases.
I propose the following change: place {soap action} at the Binding
Message Reference, Binding Fault and Binding Fault Reference levels.
Editorially, I think the cleanest way is:
- remove the definition of {soap action} from section 5.8 Binding
Operations
- add a subsection called "5.9 Assigning SOAP Action values to
Messages" defining the {soap action} property on the Binding Message
Reference, Binding Fault and Binding Fault Reference components
- say in the SOAP 1.2 binding that the value of {soap action} sets the
value of the SOAP Action Feature of the corresponding SOAP message
or fault
- say in the SOAP 1.1 binding that the value of {soap action} sets the
value of the SOAPAction HTTP header for an HTTP Request; say that it
MUST be ignored in other cases (it's not explicitly said right now)
As a related editorial side note, the SOAP 1.1 binding also says[7]:
SOAP Action. If the Binding Operation component's {soap action}
property has NOT been specified, then the Binding component
assigns quoted string value to the SOAP 1.1 SOAPAction HTTP Header
Field (see [SOAP11]).
I assume that "quoted string" means "an quoted empty string ("")". If
not, I don't know what it means. It should be clarified.
Cheers,
Hugo
1. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528
2. http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#ActionFeature
3. http://www.w3.org/TR/2005/WD-ws-addr-wsdl-20050413/#explicitaction
4. http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050803/#property-BindingOperation.soapaction
5. http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050803/#soap12-defaults
6. http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050803/#SOAP11
7. http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050803/#soap11-defaults
--
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/
Received on Friday, 5 August 2005 13:27:10 UTC