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)