axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From damitha kumarage <>
Subject Re: Unexpected #includes within WSDL2Ws generated AxisClientException.h
Date Thu, 29 Jul 2004 11:59:12 GMT
Hi Adrian,
Sorry for the late reply

On Thu, 2004-07-15 at 21:26, Adrian Dick wrote:
> Hi,
> When using WSDL2Ws to generate client stubs, I notice that
> AxisClientException is generated.  Within the header file, the fault type
> is included for each method.  But, if the same fault type is used for more
> than one method, no checking takes place, so it is included each time.  The
> attached patch introduces a check to ensure each fault type is included
> only once.
> (See attached file:
Thanks Adrian for the patch
> However, looking through the rest of the AxisClientException code, there
> are no further references to the fault types.  Which, for me,  raises the
> further question - Why are we including the fault types, if they're not
> actually being used?
Actually the user has the option to do something with the fault type.
He may use it to print the fault information. see the code below from

void AxisClientException::processException (ISoapFault* pFault)
        /*User can do something like deserializing the struct into a
        const char* pcCmplxFaultName;
        const char* pcDetail;
            m_sMessage = "Fault Code:";
            m_sMessage += pFault->getFaultcode();
            m_sMessage += "\n";
            m_sMessage += "Fault String:";
            m_sMessage += pFault->getFaultstring();
            m_sMessage += "\n";
            m_sMessage += "Fault Actor:";
            m_sMessage += pFault->getFaultactor();
            m_sMessage += "\n";
            pcDetail = pFault->getSimpleFaultDetail().c_str();
            if(NULL != pcDetail && 0 != strcmp("", pcDetail))
                m_sMessage += pcDetail;
                pcCmplxFaultName =
                //printf("pcCmplxFaultName:%s\n", pcCmplxFaultName);
            if(0 == strcmp("OutOfBoundStruct", pcCmplxFaultName))
                OutOfBoundStruct* pFaultDetail = NULL;
                pFaultDetail = (OutOfBoundStruct*)pFault->


As I promished to John earlier I'll move the documentation about this
into a proper place soon.


> These observations and the patch are based on the 1.2 release.
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (

View raw message