XMLFaultUtils.createSAAJFault() creates a fault with incorrect node
-------------------------------------------------------------------

                 Key: AXIS2-4530
                 URL: https://issues.apache.org/jira/browse/AXIS2-4530
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: jaxws
            Reporter: Wendy Raschke


A web service creates a SOAPFaultException with a SOAP fault like the below:

...
<soap:Fault><soap:Code><soap:Value>soap:Receiver</soap:Value><soap:Subcode><soap:Value>q0:Err_600</soap:Value></soap:Subcode></soap:Code><soap:Reason><soap:Text
 
xml:lang="en">{etc}soap:Text></soap:Reason><soap:Node>http://example.host:8080/HelloService/HelloService.asmx</soap:Node><soap:Role>HelloWorld</soap:Role><soap:Detail/></soap:Fault>...


It throws it, and when the client catches this exception and gets the SOAPFault 
from it, it does not get the proper value for Node. i.e., when it calls 
SOAPFault.getNode(), it gets null. This is due to this code in 
XMLFaultUtils.createSAAJFault():

        // Set the Node...only applicable for SOAP 1.2
        if (xmlFault.getNode() != null
                && protocolNS.equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
                soapFault.setFaultRole(xmlFault.getNode());                    
// <-- Incorrect
        }

The indicated line should be changed to

                    soapFault.setFaultNode(xmlFault.getNode());


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to