SAAJInInterceptor creates a SAAJ SOAPFault with only one "Detail" child
-----------------------------------------------------------------------
Key: CXF-2212
URL: https://issues.apache.org/jira/browse/CXF-2212
Project: CXF
Issue Type: Bug
Components: Soap Binding
Affects Versions: 2.2.1, 2.1.5
Reporter: Colm O hEigeartaigh
Fix For: 2.1.6, 2.2.2
The SAAJInInterceptor creates a SAAJ SOAPFault with only one "Detail" child.
For example, if a SOAP Fault is received with:
<detail><errorcode>3</errorcode><errorstring>This is a fault detail error
string</errorstring></detail>
The following code in SAAJInInterceptor will only add a detail element with a
single child element to the SOAPFault object that is created:
soapFault.addDetail().appendChild(
soapMessage.getSOAPPart().importNode(
fault.getDetail().getFirstChild(), true));
And so the output will be:
<detail><errorcode>3</errorcode></detail>
This is clearly a bug, as the SOAP specs allow for multiple detail child
elements. Even worse, it doesn't take into account the fact that
fault.getDetail() could be of type e.g Node.TEXT, and it could just end up
adding a newline character.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.