You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by ax...@ws.apache.org on 2004/10/21 17:02:16 UTC

[jira] Created: (AXISCPP-216) Improve Fault handling

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXISCPP-216

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXISCPP-216
    Summary: Improve Fault handling
       Type: Improvement

     Status: Unassigned
   Priority: Major

    Project: Axis-C++
 Components: 
             Basic Architecture
   Fix Fors:
             1.4 Beta
   Versions:
             1.3 Final

   Assignee: 
   Reporter: John Hawkins

    Created: Thu, 21 Oct 2004 8:01 AM
    Updated: Thu, 21 Oct 2004 8:01 AM
    Due:     Fri, 26 Nov 2004 12:00 AM

Description:
Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.

I think we can safely say we have not agreed on a way forward yet !


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Re: [jira] Created: (AXISCPP-216) Improve Fault handling

Posted by da...@opensource.lk.
Hi,
    +1 from me to carry on with the model you proposed.

regds
damitha

> Message:
>
>   A new issue has been created in JIRA.
>
> ---------------------------------------------------------------------
> View the issue:
>   http://issues.apache.org/jira/browse/AXISCPP-216
>
> Here is an overview of the issue:
> ---------------------------------------------------------------------
>         Key: AXISCPP-216
>     Summary: Improve Fault handling
>        Type: Improvement
>
>      Status: Unassigned
>    Priority: Major
>
>     Project: Axis-C++
>  Components:
>              Basic Architecture
>    Fix Fors:
>              1.4 Beta
>    Versions:
>              1.3 Final
>
>    Assignee:
>    Reporter: John Hawkins
>
>     Created: Thu, 21 Oct 2004 8:01 AM
>     Updated: Thu, 21 Oct 2004 8:01 AM
>     Due:     Fri, 26 Nov 2004 12:00 AM
>
> Description:
> Fault handling was implemented such that any faults came back as
> exception. There are however, still issues with this method and we can
> restructure the objects to improve the support. There are threads on the
> mailing list discussing this ->
> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and
> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
>
> I think we can safely say we have not agreed on a way forward yet !
>
>
> ---------------------------------------------------------------------
> JIRA INFORMATION:
> This message is automatically generated by JIRA.
>
> If you think it was sent incorrectly contact one of the administrators:
>    http://issues.apache.org/jira/secure/Administrators.jspa
>
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
>
>
>



Re: [jira] Assigned: (AXISCPP-216) Improve Fault handling

Posted by Damitha Kumarage <da...@opensource.lk>.
Hi,
I accept there should be improvements. But like to have a clear picuture
of intended improvements

thanks
damitha

>      [ http://nagoya.apache.org/jira/browse/AXISCPP-216?page=history ]
>
> Mark Whitlock reassigned AXISCPP-216:
> -------------------------------------
>
>     Assign To: Mark Whitlock
>
>> Improve Fault handling
>> ----------------------
>>
>>          Key: AXISCPP-216
>>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-216
>>      Project: Axis-C++
>>         Type: Improvement
>>   Components: Basic Architecture
>>     Versions: 1.3 Final
>>     Reporter: John Hawkins
>>     Assignee: Mark Whitlock
>>      Fix For: 1.4 Beta
>
>>
>> Fault handling was implemented such that any faults came back as
>> exception. There are however, still issues with this method and we can
>> restructure the objects to improve the support. There are threads on the
>> mailing list discussing this ->
>> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and
>> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
>> I think we can safely say we have not agreed on a way forward yet !
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
>
>
>


-- 
Damitha Kumarage
hSenid Software International (PVT) Ltd

[jira] Resolved: (AXISCPP-216) Improve Fault handling

Posted by "Mark Whitlock (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-216?page=history ]
     
Mark Whitlock resolved AXISCPP-216:
-----------------------------------

     Resolution: Fixed
    Fix Version: 1.5 Beta
                     (was: 1.4 Final)

This is now fixed

> Improve Fault handling
> ----------------------
>
>          Key: AXISCPP-216
>          URL: http://issues.apache.org/jira/browse/AXISCPP-216
>      Project: Axis-C++
>         Type: Improvement
>   Components: Basic Architecture
>     Versions: 1.3 Final
>     Reporter: John Hawkins
>     Assignee: Mark Whitlock
>      Fix For: 1.5 Beta

>
> Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
> I think we can safely say we have not agreed on a way forward yet !

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (AXISCPP-216) Improve Fault handling

Posted by "Mark Whitlock (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-216?page=history ]
     
Mark Whitlock closed AXISCPP-216:
---------------------------------


> Improve Fault handling
> ----------------------
>
>          Key: AXISCPP-216
>          URL: http://issues.apache.org/jira/browse/AXISCPP-216
>      Project: Axis-C++
>         Type: Improvement
>   Components: Basic Architecture
>     Versions: 1.3 Final
>     Reporter: John Hawkins
>     Assignee: Mark Whitlock
>      Fix For: 1.5 Beta

>
> Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
> I think we can safely say we have not agreed on a way forward yet !

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (AXISCPP-216) Improve Fault handling

Posted by "Mark Whitlock (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-216?page=history ]

Mark Whitlock reassigned AXISCPP-216:
-------------------------------------

    Assign To: Mark Whitlock

> Improve Fault handling
> ----------------------
>
>          Key: AXISCPP-216
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-216
>      Project: Axis-C++
>         Type: Improvement
>   Components: Basic Architecture
>     Versions: 1.3 Final
>     Reporter: John Hawkins
>     Assignee: Mark Whitlock
>      Fix For: 1.4 Beta

>
> Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
> I think we can safely say we have not agreed on a way forward yet !

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXISCPP-216) Improve Fault handling

Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-216?page=comments#action_58817 ]
     
Samisa Abeysinghe commented on AXISCPP-216:
-------------------------------------------

I have noticed numerous memory leaks in relation to Falut handling and also with the current exception model in general.
Patching the current exception model to prevent leaks is possible but requires a considerable effort.
I think it is better to review the exception model and come up with a cleaner Exception class hierarchy with cleaner memory model in mind than patching the current model. (with copy constructor/ deep copies etc.)

Also, in the code, when we are dealing with exceptions, both in throwing and catching, we have to follow some best practices such as deallocate already allocated memory before throw etc.

 

> Improve Fault handling
> ----------------------
>
>          Key: AXISCPP-216
>          URL: http://issues.apache.org/jira/browse/AXISCPP-216
>      Project: Axis-C++
>         Type: Improvement
>   Components: Basic Architecture
>     Versions: 1.3 Final
>     Reporter: John Hawkins
>     Assignee: Mark Whitlock
>      Fix For: 1.4 Final

>
> Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
> I think we can safely say we have not agreed on a way forward yet !

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXISCPP-216) Improve Fault handling

Posted by "Mark Whitlock (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXISCPP-216?page=comments#action_55968 ]
     
Mark Whitlock commented on AXISCPP-216:
---------------------------------------

Copying discussion from axis-c-dev mailing list to this issue...

Damitha wrote ...

Hi Mark,
Since you are not going to do the improvments until after that 1.4 release
let's start discussing this soon after the release.
Read below
On Thu, 25 Nov 2004 16:08:02 +0000, Mark Whitlock wrote
> Hi,
> I am currently investigating AXISCPP-216 and I would like to discuss 
> it before I make any changes.
> 
> In the client, the engine throws AxisException's. If that AxisException
> describes a user fault (in the wsdl) which the web service itself has
> thrown, the generated client stubs convert that AxisException into a
> MathOpsService_AxisClientException. The MathOpsService_AxisClientException
> is a generated class that is thrown back to the client application. 
> So the FaultMappingDocClient looks like ...
> 
> try {
>  result=ws.div(i1,i2);
> } catch(MathOpsService_AxisClientException &e) {
>   ISoapFault *fault = (ISoapFault *)e.getFault();
>   faultName = fault->getCmplxFaultObjectName().c_str();
>   if (0==strcmp("DivByZeroStruct",faultName)) {
>     DivByZeroStruct *p=(DivByZeroStruct*)fault->getCmplxFaultObject()
> ;  } else ... } catch (AxisException &e) {  ... } catch (...) {  ... }
> 
> So all AxisException's which aren't faults defined in the wsdl are caught
> by the catch (AxisException&). I propose to make two small 
> improvements to this by moving AxisGenException.hpp from 
> include/axis into src/common since applications never need it.

OK 

>Also 
> I propose to hide the ISoapFault from client applications by 
> generating suitable methods on the MathOpsService_AxisClientException.....
> 
> } catch(MathOpsService_AxisClientException &e) {
>   faultName = e.getFaultName();
>   if (0==strcmp("DivByZeroStruct",faultName)) {
>     DivByZeroStruct *p=(DivByZeroStruct*)e.getFaultObject();
>   } else ...
> 
> I thought about the generated stub throwing a DivByZeroStruct 
> instead of a MathOpsService_AxisClientException.

This is good

> The DivByZeroStruct 
> would have to extend AxisException to get the other original 
> information about the fault. But I don't think this would work since 
> the fault in the wsdl could be a basic type (int or string) not a 
> complex type and so could not extend AxisException.
> 
> I expect to make these changes for 1.5 not 1.4.
> Comments?
> Mark
> Mark Whitlock
> IBM


--
Damitha Kumarage
hSenid Software International (PVT) Ltd
damitha@hSenid.lk

Lanka Software Foundation (http://www.opensource.lk)


> Improve Fault handling
> ----------------------
>
>          Key: AXISCPP-216
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-216
>      Project: Axis-C++
>         Type: Improvement
>   Components: Basic Architecture
>     Versions: 1.3 Final
>     Reporter: John Hawkins
>     Assignee: Mark Whitlock
>      Fix For: 1.4 Beta

>
> Fault handling was implemented such that any faults came back as exception. There are however, still issues with this method and we can restructure the objects to improve the support. There are threads on the mailing list discussing this -> http://marc.theaimsgroup.com/?l=axis-c-dev&m=109639024228932&w=2 and http://marc.theaimsgroup.com/?l=axis-c-dev&m=109774330012038&w=2.
> I think we can safely say we have not agreed on a way forward yet !

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira