Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.4.1
-
Moderate
Description
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)
}
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.