[ https://issues.apache.org/jira/browse/CXF-4698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531313#comment-13531313 ]
Daniel Kulp commented on CXF-4698: ---------------------------------- This would prevent any subclass of RuntimeException that DOES have a @WebFault annotation on it from being properly mapped. > WebFaultOutInterceptor should use RumtimeException's cause > ---------------------------------------------------------- > > Key: CXF-4698 > URL: https://issues.apache.org/jira/browse/CXF-4698 > Project: CXF > Issue Type: Bug > Components: JAX-WS Runtime > Affects Versions: 2.7.1 > Environment: apache-cxf-2.7.0 > Use JaxWsServerFactoryBean > factory.getOutFaultInterceptors().add(new WebFaultOutInterceptor() ); > Reporter: Anderson Mao > > WebFaultOutInterceptor.java should use RumtimeException's cause > http://svn.apache.org/repos/asf/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java > ---- Revision 1421074, line 86 > Throwable cause = f.getCause(); > WebFault fault = null; > if (cause != null) { > fault = getWebFaultAnnotation(cause.getClass()); > } > ---- > When the "cause" is instance of RuntimeException. Will get null WebFault. > Should be fixed by use cause's cause. > ---- Fix code > WebFault fault = null; > if(cause!=null && cause instanceof RuntimeException && > cause.getCause()!=null){ > cause = cause.getCause(); > } > if (cause != null) { > fault = getWebFaultAnnotation(cause.getClass()); > } > ---- > Thanks a lot > Anderson Mao > 2012-12-13 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira