axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Whitlock <>
Subject Fw: HTTPTransportException
Date Wed, 09 Mar 2005 10:26:59 GMT

Hi Tim,
There was a problem in this area that I fixed on 22/02/05 to
ClientAxisEngine::process. AxisException is an abstract class so it has to
have some implementation class extending it. The transport library is
unloaded before the client application catches any exception.
HTTPTransportException is in the transport library. This caused a sigsegv.
I fixed this in ClientAxisEngine::process by converting the
HTTPTransportException to an AxisGenException (which is in the AxisClient
library so never gets unloaded).

Please confirm that you are picking up my fix. If you still see the
problem, please reproduce it with trace on, and send the trace so I can
investigate it further.
Mark Whitlock

----- Forwarded by Mark Whitlock/UK/IBM on 09/03/2005 10:11 -----
             Tim Bartley                                                   
             .com>                                                      To 
             09/03/2005 05:20                                           cc 
             Please respond to         HTTPTransportException              
              "Apache AXIS C                                               
                User List"                                                 


I have a client application on Suse Linux Enterprise 8.1 (Service Pack 3) -
a g++ 3.2.2/glibc 2.2 environment. I have built axis and it's dependents in
this environment.

When an HTTPTransportException is generated, client calling code is not
able to catch the exception - at least not in this environment even though
I have:

try {
catch (AxisException& e)
        printf("AxisException: %s\n", e.what());

the HTTPTransportException is not caught.

I'm not sure where the bug is. Is it because my client code can see no
declaration or definition of HTTPTransportException and therefore when my
code is compiled it has no way of knowing that HTTPTransportException is a
sub-class of AxisException in which case this could be an Axis C++ bug
(only AxisExceptions should be propagated - not their sub-classes) or a
compiler bug. Or is this a linker or C++ runtime bug such that when the
stack is unwound it should be known that the thrown HTTPTransportException
matches my catch statement.

Is anyone else seeing this behaviour? Is anyone else seeing
HTTPTransportException's successfully caught by client code at all? On
Linux? On other platforms?


IBM Tivoli Access Manager Development
Gold Coast Development Lab, Australia
+61-7-5552-4001 phone
+61-7-5571-0420 fax

View raw message