Jim Ma created CXF-7990:
---------------------------

             Summary: CXF goes in Infinite loop when service endpoint throws 
SOAPFaultException 
                 Key: CXF-7990
                 URL: https://issues.apache.org/jira/browse/CXF-7990
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 3.3.1, 3.2.8
            Reporter: Jim Ma
            Assignee: Jim Ma
             Fix For: 3.4.0, 3.2.9, 3.3.2


CXF will stuck in a infinite loop when add a detail element in SoapFault of 
SOAPFaultException:


@WebService(name = "MyEchoService", targetNamespace = "urn:echo")
@Logging
public class MyEchoService {
    @WebMethod
    public String echoException(String input) throws SOAPFaultException {
                    SOAPFaultException ex;
                    try {
                            ex = wrapToSoapFault(new Exception("hello"));
                    } catch (Exception e) {
                            // TODO Auto-generated catch block
                            return e.toString();
                    }
                    throw ex;
    }
  private SOAPFaultException wrapToSoapFault(Exception ex) throws Exception {
            SOAPFactory fac = null;
            try {
                    fac = SOAPFactory.newInstance();
                    String message = ex.getMessage();
                    SOAPFault sf = fac.createFault(message, new 
QName(SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE, "Client"));
                    sf.setFaultString("ERROR");
                    //Add detail gets cxf goes into infinite loop
                    sf.addDetail().setAttribute("message", message);
                    return new SOAPFaultException(sf);
            } catch (Exception e2) {
                    throw e2;
            }
    }
}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to