[ 
https://issues.apache.org/jira/browse/CXF-3934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Zagorulko updated CXF-3934:
---------------------------------

    Description: 
Web service method throws custom exception annotated by @WebFault, cxf endpoint 
configuration has faultStackTraceEnabled=true and 
exceptionMessageCauseEnabled=true properties. On client side we have response 
with filled stacktrace element in fault/detail then through InFaultInterceptors 
new instance of our custom exception is created and filled with stacktrace from 
response. Our custom exception with stacktrace is intercepted in 
JaxWsClientProxy when its stacktrace is filled again using fillInStackTrace() 
as a result we have empty stacktrace.

line 120 ..try {
            if (isAsync) {
                result = invokeAsync(method, oi, params);
            } else {
                result = invokeSync(method, oi, params);
            }
        } catch (WebServiceException wex) {
            throw wex.fillInStackTrace();
        } catch (Exception ex) {
            for (Class<?> excls : method.getExceptionTypes()) {
                if (excls.isInstance(ex)) {
                    throw ex.fillInStackTrace();
                }
            }
            }
...

I doubt if this behavior according to custom exceptions is correct because I 
need this server stacktrace on client.

  was:
Web service method throws custom exception annotated by @WebFault, cxf endpoint 
configuration has faultStackTraceEnabled=true and 
exceptionMessageCauseEnabled=true properties. On client side we have response 
with filled stacktrace element in fault/detail then through InFaultInterceptors 
new instance of our custom exception is created and filled with stacktrace from 
response. Our custom exception with stacktrace is intercepted in 
JaxWsClientProxy when its stacktrace is filled again using fillInStackTrace() 
as a result we have empty stacktrace.

line 120 ..try {
            if (isAsync) {
                result = invokeAsync(method, oi, params);
            } else {
                result = invokeSync(method, oi, params);
            }
        } catch (WebServiceException wex) {
            throw wex.fillInStackTrace();
        } catch (Exception ex) {
            for (Class<?> excls : method.getExceptionTypes()) {
                if (excls.isInstance(ex)) {
                    throw ex.fillInStackTrace();
                }
            }
            }
...

I doubt if this behavior according to custom exceptions is correct.

    
> JaxWsClientProxy clears stacktrace of custom exception
> ------------------------------------------------------
>
>                 Key: CXF-3934
>                 URL: https://issues.apache.org/jira/browse/CXF-3934
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.3.1
>         Environment: AS Jboss 5.1, jbossws-cxf-3.4.1, cxf-2.3.1
>            Reporter: Anton Zagorulko
>
> Web service method throws custom exception annotated by @WebFault, cxf 
> endpoint configuration has faultStackTraceEnabled=true and 
> exceptionMessageCauseEnabled=true properties. On client side we have response 
> with filled stacktrace element in fault/detail then through 
> InFaultInterceptors new instance of our custom exception is created and 
> filled with stacktrace from response. Our custom exception with stacktrace is 
> intercepted in JaxWsClientProxy when its stacktrace is filled again using 
> fillInStackTrace() as a result we have empty stacktrace.
> line 120 ..try {
>             if (isAsync) {
>                 result = invokeAsync(method, oi, params);
>             } else {
>                 result = invokeSync(method, oi, params);
>             }
>         } catch (WebServiceException wex) {
>             throw wex.fillInStackTrace();
>         } catch (Exception ex) {
>             for (Class<?> excls : method.getExceptionTypes()) {
>                 if (excls.isInstance(ex)) {
>                     throw ex.fillInStackTrace();
>                 }
>             }
>             }
> ...
> I doubt if this behavior according to custom exceptions is correct because I 
> need this server stacktrace on client.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to