setting wsa:addressing feature in cxf:bus causes wrong action header to be sent
when using Dispatch API
-------------------------------------------------------------------------------------------------------
Key: CXF-3755
URL: https://issues.apache.org/jira/browse/CXF-3755
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 2.4.1
Reporter: Jesse Pangburn
Priority: Minor
I configured ws addressing on the cxf bus like this, instead of adding the
feature directly to the dispatch client:
<cxf:bus>
<cxf:features>
<wsa:addressing/>
</cxf:features>
</cxf:bus>
However using both SOAP 1.1 and 1.2 Dispatch API clients, I found that it sets
the wrong Action header by just using a default rather than the one from the
WSDL. I'm not certain which code is responsible for this but I see in the
DispatchImpl.java the following code:
boolean wsaEnabled = false;
for (AbstractFeature feature :
((JaxWsClientEndpointImpl)client.getEndpoint()).getFeatures()) {
if (feature instanceof WSAddressingFeature) {
wsaEnabled = true;
}
}
This only looks for the features on the endpoint to determine if it should do
ws addressing, not the features on the bus too. So the DispatchImpl doesn't
set this stuff up. Further investigation shows that if the wsAddressing
feature is added via jaxws:client spring configuration, the action header is
wrong here too.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira