cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <>
Subject [jira] Resolved: (CXF-2212) SAAJInInterceptor creates a SAAJ SOAPFault with only one "Detail" child
Date Fri, 08 May 2009 17:12:45 GMT


Daniel Kulp resolved CXF-2212.

       Resolution: Fixed
    Fix Version/s: 2.0.12
         Assignee: Daniel Kulp

Patch semi-applied.   I changed it to not use the NodeList (NodeLists are not thread safe
and have a huge performance penalty in most cases), but the test remained the same.

> SAAJInInterceptor creates a SAAJ SOAPFault with only one "Detail" child
> -----------------------------------------------------------------------
>                 Key: CXF-2212
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>    Affects Versions: 2.1.5, 2.2.1
>            Reporter: Colm O hEigeartaigh
>            Assignee: Daniel Kulp
>             Fix For: 2.0.12, 2.1.6, 2.2.2
>         Attachments: cxf_2212.patch
> 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.

View raw message