[
https://issues.apache.org/jira/browse/CXF-4698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-4698.
------------------------------
Resolution: Fixed
Assignee: Daniel Kulp (was: Willem Jiang)
Fix Version/s: 3.2.0
Resolved, but only for 3.2 as it's a behavior change.
> 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
> Assignee: Daniel Kulp
> Fix For: 3.2.0
>
>
> 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 was sent by Atlassian JIRA
(v6.3.15#6346)