SOAPAction and Default Action

Section 4.4.1 of WSDL Binding [1] says:

-- cut here --
In the absence of a wsaw:Action attribute on a WSDL input element where 
a SOAPAction value is specified, the value of the [action] property for 
the input message is the value of the SOAPAction specified.
-- cut here --

Consider the following 3 different SOAP bindings for an operation in 
WSDL 1.1:

1). <soap:operation soapAction="bindingSOAPAction"/>

2). <soap:operation soapAction=""/>

3). <soap:operation/>

In 1)., SOAPAction is clearly specified. In 3). SOAPAction is clearly 
not specified. Should 2). be considered as specified or not specified ?

A literal reading of the spec will mean that SOAPAction is specified, 
even though blank. I've seen 2). as a more common style in WSDLs. If 
there happens to more than one operation in a portType (not uncommon at 
all) and all the operation use 2)., then all the operations will have 
exactly same wsa:Action within a portType.

I think the wording of the spec should be changed to specify that only a 
non-empty SOAPAction overrides the default Action.

[1] http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/#explicitaction

Thanks,
-Arun
-- 
got Web Services ?
Download and Contribute Web Services Interoperability Technology (WSIT)
http://java.sun.com/webservices/interop

Received on Thursday, 20 July 2006 18:46:58 UTC