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

Adrian Dick commented on AXISCPP-858:
-------------------------------------


I have managed to resolve this by simply including the "/MD" flag.

This is the flag for Multithreaded DLL, if you're trying to select this from 
within a GUI.

It isn't abundantly clear, to me, why you need to do this, other than because 
you are using a multi-threaded DLL.

Hope that helps,
Adrian

> client stub delete Ret; causes Debug Assertion Failed! Win32
> ------------------------------------------------------------
>
>          Key: AXISCPP-858
>          URL: http://issues.apache.org/jira/browse/AXISCPP-858
>      Project: Axis-C++
>         Type: Bug
>   Components: Client - Stub
>     Versions: 1.5 Final
>  Environment: client-Windows XP
> server-Windows XP Apache Axis Java 1.2.1 deployed on Tomcat 5.5.9
>     Reporter: Brian Brooks

>
> The stub generated by 
> java -classpath %lib%\..\axis\wsdl2ws.jar;%axis% 
> org.apache.axis.wsdl.wsdl2ws.WSDL2Ws %wsdl% -o./ClientOut -lc++ -sclient
> has a defect.  In a debug win32 build, this results in the Microsoft runtime 
> stopping the a client with a failed assertion
>           /*
>          * If this ASSERT fails, a bad pointer has been passed in. It may be
>          * totally bogus, or it may have been allocated from another heap.
>          * The pointer MUST come from the 'local' heap.
>          */
>         _ASSERTE(_CrtIsValidHeapPointer(pUserData));
> the call stack at the point of failure is
>   _free_dbg(void *, int)
>   free(void *)
>   operator delete(void *)
>   Calculator::add(int, int)
>   main(int, char * *)
> The Calculator::add(int, int) function is declared in the generated stub 
> Calculator.cpp.  This function is shown below.  The line that reads
>               delete Ret;
> seems to be the problem.
> /*Methods corresponding to the web service methods*/
> /*
>  * This method wrap the service method add
>  */
> xsd__int Calculator::add(xsd__int Value0, xsd__int Value1)
> {
>       xsd__int* Ret = NULL;
>       const char* pcCmplxFaultName;
>       try
>       {
>               if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER)) 
>                       return *Ret;
>       if (NULL==m_pCall->getTransportProperty("SOAPAction",false))
>       {
>               m_pCall->setTransportProperty(SOAPACTION_HEADER , "");
>       }
>               m_pCall->setSOAPVersion(SOAP_VER_1_1);
>               m_pCall->setOperation("add", 
> "http://localhost:8080/axis/Calculator.jws";);
>               applyUserPreferences();
>               m_pCall->addParameter((void*)&Value0, "i1", XSD_INT);
>               m_pCall->addParameter((void*)&Value1, "i2", XSD_INT);
>               if (AXIS_SUCCESS == m_pCall->invoke())
>               {
>                       if(AXIS_SUCCESS == m_pCall->checkMessage("addResponse", 
> "http://localhost:8080/axis/Calculator.jws";))
>                       {
>                               Ret = m_pCall->getElementAsInt("addReturn", 0);
>                       }
>               }
>       m_pCall->unInitialize();
>               xsd__int r = *Ret;
>               delete Ret;
>               return r;
>       }
>       catch(AxisException& e)
>       {
>               int iExceptionCode = e.getExceptionCode();
>               if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
>               {
>                       throw SoapFaultException(e);
>               }
>               ISoapFault* pSoapFault = (ISoapFault*)
>                       
> m_pCall->checkFault("Fault","http://localhost:8080/axis/Calculator.jws"; );
>               if(pSoapFault)
>               {
>                       m_pCall->unInitialize();
>                       throw SoapFaultException(e);
>               }
>               else throw;
>       }
> }

-- 
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