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

        

Reply via email to