axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Susantha Kumara" <susan...@opensource.lk>
Subject RE: axis c++ project questions
Date Fri, 27 Feb 2004 09:30:17 GMT
Hi Sam,

Following is what I have added to the TODO list

8).Error Handling
=================
 1. At the moment Axis uses only 2 global error codes (AXIS_SUCCESS and
AXIS_FAIL) and hence when an error occured not
   enough information is returned back to where the error is handled. SO we
have to define a global flat list of errors
   and propagate enough information about the error.

2. In Axis not all the code base handle every possible error situations.
Also there are places where the same error is
   checked more than onece. We have to avoid these trivial error checkings.

>
> It would be great if someone could respond to this.  Sanjiva?
> Susantha?  I will go ahead and propose that I think instead of returning
> AXIS_SUCCESS/FAIL values from functions, an AxisError object should be
> returned.  The object could have members like so:
>
> struct/class AxisError {
>
> 	int error_module; /* common, wsdd, soap, etc. */
>         int error_code;  /* an error code for a standard error in that
> module */
>         AxisString reason; /* text related to the error */
>         AxisError causal;  /* used for chaining errors through the
> function stack */
> };

This approach is better. But if we make this a pointer rather than an object
that is good.
Then a function returning null means success. Non null means and error and
then the object
can be explored for information.

The other option (as suggested in the wiki page) is that we keep a big flat
list of error
codes (add to the list where AXIS_SUCCESS and AXIS_FAIL defined) and return
it.

>
> It might also be nice if there was the ability to convert from a
> returned soap fault (on the client) to one of the AxisError objects.
>

This has been a requirement from the beginning.

Please go ahead do it and send a patch.

Thanks,

Susantha.


Mime
View raw message