[ 
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

Reply via email to