Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
Java-SCA-2.x
-
None
-
None
Description
JAX-WS 2.2 describes the default mapping of an operation to wsam:Action.
In Tuscany we generate WSDL bindings with SOAPAction="urn:<operationName>".
The WSA SOAP spec:
http://www.w3.org/TR/2006/REC-ws-addr-soap-20060509/
says that wsam:Action and SOAPAction should match if they are each specified.
So,
1) We should honor the @Action annotation and set this as the JavaOperation 'action' in JAXWSJavaInterfaceProcessor (in case @WebMethod(action=) is not set, if both are set they must be equal). Ideally we'd validate this.
2) If 'action' is still null after introspection the Java, we should probably generate this action per the JAX-WS 2.2 Sec 3.5.2 algorithm.
This would mean that our wsdlgen logic, which generates the SOAP Binding SOAPAction as "urn:<operationName>" would become irrelevant, since the action would always be set from Java.
This would seem to address
https://issues.apache.org/jira/browse/TUSCANY-3824
as well, at least in 2.x (though that one was targeted for 1.x).