I am looking at how fault handling is done, and I see that we generate 
code like the following (using FaultMappingDoc test case) when the 
CmplxFaultName does not match:

                        else
                        {
                                const char *detail = 
pSoapFault->getSimpleFaultDetail();
                                bool deleteDetail=false;

                                if (NULL==detail || 0==strlen(detail))
                                {
 detail=m_pCall->getFaultAsXMLString();

                                        if (NULL==detail)
                                                detail="";
                                        else
                                                deleteDetail=true;
                                }

                                OtherFaultException 
ofe(pSoapFault->getFaultcode(),
                                        pSoapFault->getFaultstring(), 
pSoapFault->getFaultactor(),
                                        detail, iExceptionCode);

                                if (deleteDetail && NULL!=detail)
                                        Axis::AxisDelete( (void *) 
const_cast<char*>(detail), XSD_STRING);

                                m_pCall->unInitialize();
                                delete pSoapFault;
                                throw ofe;
                        }

My question is whether the call to AxisDelete is a bug, since from what I 
can tell getSimpleFaultDetail() does not return a new pointer.

Nadir K. Amra


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to