Re: SOAPAction and Default Action

public-ws-addressing-request@w3.org wrote on 07/21/2006 06:40:26 AM:
> 
> Arun,
> 
> SOAP 1.1 requires the SOAPAction HTTP header.
> Therefore, whether there is a value specified in WSDL or not, the SOAP 
> request must contain the HTTP header.
> 
> The issue before WS-I BP WG was what should the value of that HTTP 
> header be if it is not specified in WSDL (no soapAction attribute 
> present) and the WG decided on "". The reasons for requiring the quotes 
> was interoperability: there were some stacks that required the quotes. I 

> would not interpret R2745 to mean that empty string for soapAction attr 
> is not a valid value. It is a valid value which also happens to be the 
> default value per R2745.
> 
> I'm not necessarily pushing back on allowing [action] defaulting when 
> the SOAPAction is specified to be "" (which does not contradict the 
> requirement in WS-Addr SOAP binding that requires the two to be the same 

> or SOAPAction to be ""). But I would like to understand if there is a 
> good reason to do so. What problem does it solve? I don't quite see the 
> argument that soapAction="" => unspecified.
> 

Anish,
FWIW I've always read the spec to treat an empty soapAction attribute in 
the WSDL as no value and hence use the default action pattern.

The good reason to do this is that there are many existing WSDLs which 
have portTypes with multiple operations and with soapAction="" attributes 
on the binding. If we were then to take these ="" as values then all of 
these operations would have the same wsa:Action="" which would prevent 
identification of the operation based on the action and conflicts with the 
uniqueness requirement from the ws-a core. In this case, in order to 
WS-Addressing enable your endpoint you'd have to either remove the 
soapAction="" attributes to enable the DefaultActionPattern or explicity 
add wsaw:Action everywhere.

David

Received on Friday, 21 July 2006 07:34:42 UTC