axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Hawkins (JIRA)" <>
Subject [jira] Updated: (AXISCPP-398) Better mapping for SOAP exceptions
Date Tue, 01 Feb 2005 14:06:17 GMT
     [ ]

John Hawkins updated AXISCPP-398:

    type: Improvement  (was: Bug)

> Better mapping for SOAP exceptions
> ----------------------------------
>          Key: AXISCPP-398
>          URL:
>      Project: Axis-C++
>         Type: Improvement
>  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 { 
>         myService->method(); 
> } 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