[ 
http://issues.apache.org/jira/browse/AXISCPP-722?page=comments#action_12318385 
] 

Henrik Nordberg commented on AXISCPP-722:
-----------------------------------------

The generated class AxisServiceException should be changed to fit in with the 
rest of the exception classes. Currently when you generate server stubs you get 
a AxisServiceException containing:

private:
         void processException(exception* e);
         void processException(ISoapFault* pFault);
         void processException(exception* e, int iExceptionCode);
         void processException(int iExceptionCode);
         string m_sMessage;
         int m_iExceptionCode;
         ISoapFault* m_pISoapFault;

};

Here, at least,  m_iExceptionCode is hiding a member in the base class. This 
causes real trouble since this exception is caught as its base class and 
m_iExceptionCode is then 0, which leads to an empty response (only HTTP 
headers, and with content length = 0) being sent back to the client.

So, long story short: The generated class AxisServiceException should be 
changed to fit in with the rest of the exception classes. This minimally means 
removing duplicate members, but probably means changing the generated 
processException() members too.

> Overloaded processException in AxisEngineException class
> --------------------------------------------------------
>
>          Key: AXISCPP-722
>          URL: http://issues.apache.org/jira/browse/AXISCPP-722
>      Project: Axis-C++
>         Type: Bug
>   Components: Server - Engine
>     Versions: current (nightly)
>  Environment: All
>     Reporter: Dushshantha Chandradasa
>     Assignee: Dushshantha Chandradasa
>  Attachments: ExceptionModel_before.JPG
>
> Samisa Abeysinghe <[EMAIL PROTECTED]> wrote on 30/06/2005
> > 11:04:29:
> > 
> > > Hi All,
> > >     We have several overloaded forms of processException in 
> > > AxisEngineException class.
> > > 
> > >     I am sure that we are not using all of those. It is quite hard
> > to
> > > undestand and locate the problem locations when maintaining the 
> > > implementation. Shall we drop those that are not used from the list 
> > > below?
> > > 
> > >     void processException(const exception* e);
> > >     void processException(const exception* e, const int
> > iExceptionCode);
> > >     void processException (const exception* e, char* pcMessage);
> > >     void processException(const int iExceptionCode);
> > >     void processException(const int iExceptionCode, char*
> > pcMessage);
> > > 
> > >     BTW, some can be replaced with the copy constructor. I think we 
> > > can drop the top 3 and keep the bottom 2. Sometime it is better to 
> > > KISS ;-)
> > > 
> > > Thanks,
> > > Samisa...

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to