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.