Using Dispatch API with SOAPMessage type fails to set WS-Addressing action 
header properly if there's whitespace after the soap:body
------------------------------------------------------------------------------------------------------------------------------------

                 Key: CXF-3748
                 URL: https://issues.apache.org/jira/browse/CXF-3748
             Project: CXF
          Issue Type: Bug
          Components: JAX-WS Runtime
    Affects Versions: 2.4.1
            Reporter: Jesse Pangburn
            Priority: Minor


if you use a SOAPMessage instead of a Source then the following function fails 
(ignoring the exception) and your ws-addressing action doesn't get set- if you 
have any whitespace after the soap:body element before your first payload 
element:
    private String getPayloadElementName(SOAPMessage soapMessage) {
        try {            
            SOAPElement element  = 
(SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
            return new QName(element.getNamespaceURI(), 
element.getLocalName()).toString();
        } catch (Exception e) {
            //ignore
        }
        return null;
        
    }

This fails because the .next() call at the end gets a text node instead of an 
element object so the cast fails.  So inexplicably your ws-addressing action 
header doesn't get set as far as the user sees.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to