[
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