axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chad Wilson (JIRA)" <>
Subject [jira] Commented: (AXIS-1642) axis.development.system doesn't supress stack traces
Date Tue, 21 Jun 2005 05:26:17 GMT
    [ ] 

Chad Wilson commented on AXIS-1642:

Oh - and on a related note - I notice that regardless of whether you are using LogHandler
or any kind of custom onFault() handling if the exception thrown has a nested exception, Axis
will ignore axis.development.system and serialize the nested exception (root cause) stack
trace - although correctly ignoring the main exception.

Is this the expected behaviour? This occurs whenever you throw a custom exception which sets

public class MySpecialFault extends Exception {
    private MySpecialFault (String customName, String customDetail, int customCode, Throwable
rootCause) {
        super(customName, rootCause); = customName;
        this.detail = customDetail;
        this.code = customCode;

> axis.development.system doesn't supress stack traces
> ----------------------------------------------------
>          Key: AXIS-1642
>          URL:
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2 Beta
>     Reporter: Nelson Minar

> I had this problem in 1.2beta1, and another user just reported it on axis-user. As a
convenience I'm copying his mail into a Jira bug report.
> I ran into a problem with not being able to stop stack traces from being 
> sent to the client even though "axis.development.system" was set to 
> false in the wsdd.  The beauty of open source is that I've been able to 
> trace through the code and figure out what the problem was.  The service 
> that I'm developing has an onFault handler that had the following line 
> of code:
> SOAPFault fault = 
> (SOAPFault)ctx.getResponseMessage().getSOAPEnvelope().getBody().getFault();
> Before this call, the response message contained the fault that my 
> service had thrown but after the call it contained a copy of the fault.  
> Unfortunately, the code that removes the stack trace from the fault 
> works on the original, not the copy, so the stack trace is still in the 
> response when the response gets sent.
> By changing the above to:
> Object fault_obj = 
> ((SOAPPart)ctx.getResponseMessage().getSOAPPart()).getCurrentMessage();
> which does not change the response message.  I now simply check whether 
> fault_obj is an AxisFault or a SOAPFault and act accordingly.
> Hope this helps others who have run into this problem.
> Dan.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message