axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fred Preston (JIRA)" <>
Subject [jira] Created: (AXISCPP-398) Better mapping for SOAP exceptions
Date Mon, 31 Jan 2005 15:11:17 GMT
Better mapping for SOAP exceptions

         Key: AXISCPP-398
     Project: Axis-C++
        Type: Bug
 Environment: n/a
    Reporter: Fred Preston

In the current implementation, for a given web service, a C++ class per SOAP fault type is
created (as declared in the WSDL), plus an intermediate XXX_AxisClientException class. To
catch web service errors, you need in your C++ client to add a catch clause on this XXX_AxisClientException,
then call getFault(), then call getCmplxFaultObjectName(), then compare the string with every
possible fault types, then finally call getCmplxFaultObject() and proceed with the actual
exception  handling. 

There are several problems with this implementation, the two most obvious are:-

1. It is not very straightforward.
2. The intermediate object is called XXX_AxisClientException where XXX is the name of the
wsdl:service and not the wsdl:portype (what if I want to call different services which share
the same portType, which is a very common scenario here). 

I would be preferable to have something along these lines (more Axis-Java like): 

try { 
} catch (MyFaultType1 e1) { 
        // Error handling implementation for MyFaultType1 
} catch (MyFaultType2 e2) { 
        // Error handling implementation for MyFaultType2 
} catch (MyFaultTypeN eN) { 
        // Error handling implementation for MyFaultTypeN 

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
If you want more information on JIRA, or have a bug to report see:

View raw message