You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by su...@apache.org on 2004/01/21 08:43:15 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal WrapWriter.java

susantha    2004/01/20 23:43:15

  Modified:    c/src/client/samples/interoptests/doclitgroupB
                        InteropGroupBClient.cpp SOAPStructStruct.cpp
               c/src/engine ServerAxisEngine.cpp
               c/src/server/samples/interoptests/base
                        InteropTestPortTypeWrapper.cpp
               c/src/server/samples/interoptests/doclitbase
                        InteropTestPortTypeWrapper.cpp
               c/src/server/samples/interoptests/doclitgroupB
                        InteropTestPortTypeBWrapper.cpp
                        SOAPStructStruct.cpp
               c/src/server/samples/interoptests/groupB
                        InteropTestPortTypeBWrapper.cpp
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c WrapWriter.java
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal
                        WrapWriter.java
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp WrapWriter.java
               c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
                        WrapWriter.java
  Log:
  1. Improved server side interop test samples to handle the situation when the server
  gets an incorrect SOAP message.
  2. Improved WSDL2WS tool to generate code to handle above situation
  3. Minor improvements of ServerAxisEngine.cpp to support the above changes
  
  Revision  Changes    Path
  1.3       +2 -2      ws-axis/c/src/client/samples/interoptests/doclitgroupB/InteropGroupBClient.cpp
  
  Index: InteropGroupBClient.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/client/samples/interoptests/doclitgroupB/InteropGroupBClient.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InteropGroupBClient.cpp	20 Jan 2004 14:05:16 -0000	1.2
  +++ InteropGroupBClient.cpp	21 Jan 2004 07:43:14 -0000	1.3
  @@ -13,7 +13,7 @@
   	//ws.echo2DStringArray
   
   	//testing Nested Arrays
  -/*	SOAPArrayStruct sas;
  +	SOAPArrayStruct sas;
   	sas.varFloat = 12345.67890;
   	sas.varInt = 5000;
   	sas.varString = "varString content of SOAPArrayStruct";
  @@ -29,7 +29,7 @@
   	else
   		printf("failed\n");
   
  -*/	//testing Nested Structs
  +	//testing Nested Structs
   	SOAPStructStruct sss;
   	sss.varFloat = 12345.67890;
   	sss.varInt = 5000;
  
  
  
  1.3       +1 -1      ws-axis/c/src/client/samples/interoptests/doclitgroupB/SOAPStructStruct.cpp
  
  Index: SOAPStructStruct.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/client/samples/interoptests/doclitgroupB/SOAPStructStruct.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SOAPStructStruct.cpp	20 Jan 2004 14:05:16 -0000	1.2
  +++ SOAPStructStruct.cpp	21 Jan 2004 07:43:14 -0000	1.3
  @@ -22,7 +22,7 @@
   	pSZ->SerializeAsElement("varString", (void*)&(param->varString), XSD_STRING);
   	pSZ->SerializeAsElement("varInt", (void*)&(param->varInt), XSD_INT);
   	pSZ->SerializeAsElement("varFloat", (void*)&(param->varFloat), XSD_FLOAT);
  -	pSZ->Serialize("<varStruct>", 0);
  +	pSZ->Serialize("<varStruct", 0);
   	Axis_Serialize_SOAPStruct(param->varStruct, pSZ);
   	pSZ->Serialize("</varStruct>", 0);
   	return AXIS_SUCCESS;
  
  
  
  1.15      +7 -5      ws-axis/c/src/engine/ServerAxisEngine.cpp
  
  Index: ServerAxisEngine.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/engine/ServerAxisEngine.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ServerAxisEngine.cpp	14 Jan 2004 09:37:56 -0000	1.14
  +++ ServerAxisEngine.cpp	21 Jan 2004 07:43:14 -0000	1.15
  @@ -44,7 +44,10 @@
                   AXISTRACE1("transport is not set properly", CRITICAL);
                   return AXIS_FAIL;
               }
  -
  +		/*
  +		 * after this point we should return AXIS_SUCCESS. Otherwise the transport layer
  +		 * may not send the response back (either soap fault or result).
  +		 */
   		do {
   			/* populate MessageData with transport information */
   			m_pMsgData->m_Protocol = stream->trtype;
  @@ -200,7 +203,7 @@
   			 * Invoke all handlers including the webservice
   			 * in case of failure coresponding stream fault message will be set
   			 */
  -			Status = Invoke(m_pMsgData); //we generate response in the same way even if this has failed
  +			Status = Invoke(m_pMsgData); 
   		}
   		while(0);
   		/**
  @@ -225,7 +228,6 @@
   		//UnInitializeHandlers(sSessionId, stream->trtype);
   		//Pool back the webservice
   		if (m_pWebService) g_pHandlerPool->PoolWebService(sSessionId, m_pWebService, pService); 
  -		return Status;
   //	AXIS_CATCH(exception* e)
   		//todo
   		/*
  @@ -248,7 +250,7 @@
   		*/
   
   //	AXIS_ENDCATCH
  -	return Status;
  +	return AXIS_SUCCESS;
   }
   
   int ServerAxisEngine::Invoke(MessageData* pMsg)
  @@ -314,7 +316,7 @@
   	if (AXIS_SUCCESS != m_pDZ->FlushInputStream())
   	{
   		m_pSZ->setSoapFault(SoapFault::getSoapFault(SF_SOAPCONTENTERROR));
  -		return AXIS_SUCCESS;
  +		return AXIS_FAIL;
   	}
   
   	pMsg->setPastPivotState(true);
  
  
  
  1.6       +28 -0     ws-axis/c/src/server/samples/interoptests/base/InteropTestPortTypeWrapper.cpp
  
  Index: InteropTestPortTypeWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/samples/interoptests/base/InteropTestPortTypeWrapper.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- InteropTestPortTypeWrapper.cpp	12 Jan 2004 12:20:53 -0000	1.5
  +++ InteropTestPortTypeWrapper.cpp	21 Jan 2004 07:43:14 -0000	1.6
  @@ -83,6 +83,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoString(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -93,6 +94,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoString", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoStringResponse", "http://soapinterop.org/");
   	AxisChar* v0 = pIWSDZ->GetElementAsString(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	AxisChar* ret = pWs->echoString(v0);
   	return pIWSSZ->AddOutputParam("echoStringReturn", (void*)&ret, XSD_STRING);
   }
  @@ -103,6 +105,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStringArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -112,6 +115,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoStringArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoStringArrayResponse", "http://soapinterop.org/");
   	ArrayOfstring v0 = (ArrayOfstring&)pIWSDZ->GetBasicArray(XSD_STRING,0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfstring ret = pWs->echoStringArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_STRING, "echoStringArrayReturn");
   }
  @@ -122,6 +126,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoInteger(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -131,6 +136,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoInteger", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoIntegerResponse", "http://soapinterop.org/");
   	int v0 = pIWSDZ->GetElementAsInt(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	int ret = pWs->echoInteger(v0);
   	return pIWSSZ->AddOutputParam("echoIntegerReturn", (void*)&ret, XSD_INT);
   }
  @@ -141,6 +147,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoIntegerArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -150,6 +157,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoIntegerArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoIntegerArrayResponse", "http://soapinterop.org/");
   	ArrayOfint v0 = (ArrayOfint&)pIWSDZ->GetBasicArray(XSD_INT,0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfint ret = pWs->echoIntegerArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_INT, "echoIntegerArrayReturn");
   }
  @@ -160,6 +168,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoFloat(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -169,6 +178,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoFloat", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoFloatResponse", "http://soapinterop.org/");
   	float v0 = pIWSDZ->GetElementAsFloat(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	float ret = pWs->echoFloat(v0);
   	return pIWSSZ->AddOutputParam("echoFloatReturn", (void*)&ret, XSD_FLOAT);
   }
  @@ -179,6 +189,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoFloatArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -188,6 +199,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoFloatArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoFloatArrayResponse", "http://soapinterop.org/");
   	ArrayOffloat v0 = (ArrayOffloat&)pIWSDZ->GetBasicArray(XSD_FLOAT,0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOffloat ret = pWs->echoFloatArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_FLOAT, "echoFloatArrayReturn");
   }
  @@ -198,6 +210,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -209,6 +222,7 @@
   	SOAPStruct *v0 = (SOAPStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPStruct
   		, (void*)Axis_Create_SOAPStruct, (void*)Axis_Delete_SOAPStruct
   		, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStruct *ret = pWs->echoStruct(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct, "echoStructReturn", "http://soapinterop.org/");
   }
  @@ -219,6 +233,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStructArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -230,6 +245,7 @@
   	ArrayOfSOAPStruct v0 = (ArrayOfSOAPStruct&)pIWSDZ->GetCmplxArray((void*)Axis_DeSerialize_SOAPStruct
   		, (void*)Axis_Create_SOAPStruct, (void*)Axis_Delete_SOAPStruct
   		, (void*)Axis_GetSize_SOAPStruct, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfSOAPStruct ret = pWs->echoStructArray(v0);
   	return pIWSSZ->AddOutputCmplxArrayParam((Axis_Array*)(&ret),(void*) Axis_Serialize_SOAPStruct, (void*) Axis_Delete_SOAPStruct, (void*) Axis_GetSize_SOAPStruct, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
   }
  @@ -240,6 +256,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoVoid(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -248,6 +265,7 @@
   	if (!pIWSDZ) return AXIS_FAIL;
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoVoid", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoVoidResponse", "http://soapinterop.org/");
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	pWs->echoVoid();
   	return AXIS_SUCCESS;
   }
  @@ -258,6 +276,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoBase64(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -267,6 +286,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoBase64", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoBase64Response", "http://soapinterop.org/");
   	xsd__base64Binary v0 = pIWSDZ->GetElementAsBase64Binary(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__base64Binary ret = pWs->echoBase64(v0);
   	return pIWSSZ->AddOutputParam("echoBase64Return", (void*)&ret, XSD_BASE64BINARY);
   }
  @@ -277,6 +297,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoDate(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -286,6 +307,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoDate", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoDateResponse", "http://soapinterop.org/");
   	xsd__dateTime v0 = pIWSDZ->GetElementAsDateTime(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__dateTime ret = pWs->echoDate(v0);
   	return pIWSSZ->AddOutputParam("echoDateReturn", (void*)&ret, XSD_DATETIME);
   }
  @@ -296,6 +318,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoHexBinary(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -305,6 +328,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoHexBinary", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoHexBinaryResponse", "http://soapinterop.org/");
   	xsd__hexBinary v0 = pIWSDZ->GetElementAsHexBinary(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__hexBinary ret = pWs->echoHexBinary(v0);
   	return pIWSSZ->AddOutputParam("echoHexBinaryReturn", (void*)&ret, XSD_HEXBINARY);
   }
  @@ -315,6 +339,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoDecimal(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -324,6 +349,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoDecimal", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoDecimalResponse", "http://soapinterop.org/");
   	xsd__decimal v0 = pIWSDZ->GetElementAsDecimal(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__decimal ret = pWs->echoDecimal(v0);
   	return pIWSSZ->AddOutputParam("echoDecimalReturn", (void*)&ret, XSD_DECIMAL);
   }
  @@ -334,6 +360,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoBoolean(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -343,6 +370,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoBoolean", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoBooleanResponse", "http://soapinterop.org/");
   	xsd__boolean v0 = pIWSDZ->GetElementAsBoolean(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__boolean ret = pWs->echoBoolean(v0);
   	return pIWSSZ->AddOutputParam("echoBooleanReturn", (void*)&ret, XSD_BOOLEAN);
   }
  
  
  
  1.3       +28 -0     ws-axis/c/src/server/samples/interoptests/doclitbase/InteropTestPortTypeWrapper.cpp
  
  Index: InteropTestPortTypeWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/samples/interoptests/doclitbase/InteropTestPortTypeWrapper.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InteropTestPortTypeWrapper.cpp	12 Jan 2004 12:39:55 -0000	1.2
  +++ InteropTestPortTypeWrapper.cpp	21 Jan 2004 07:43:14 -0000	1.3
  @@ -83,6 +83,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoString(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -93,6 +94,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoString", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoStringResponse", "http://soapinterop.org/");
   	AxisChar* v0 = pIWSDZ->GetElementAsString("inputString",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	AxisChar* ret = pWs->echoString(v0);
   	return pIWSSZ->AddOutputParam("echoStringReturn", (void*)&ret, XSD_STRING);
   }
  @@ -103,6 +105,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStringArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -112,6 +115,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoStringArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoStringArrayResponse", "http://soapinterop.org/");
   	ArrayOfstring v0 = (ArrayOfstring&)pIWSDZ->GetBasicArray(XSD_STRING,"inputStringArray",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfstring ret = pWs->echoStringArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_STRING, "echoStringArrayReturn");
   }
  @@ -122,6 +126,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoInteger(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -131,6 +136,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoInteger", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoIntegerResponse", "http://soapinterop.org/");
   	int v0 = pIWSDZ->GetElementAsInt("inputInteger",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	int ret = pWs->echoInteger(v0);
   	return pIWSSZ->AddOutputParam("echoIntegerReturn", (void*)&ret, XSD_INT);
   }
  @@ -141,6 +147,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoIntegerArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -150,6 +157,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoIntegerArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoIntegerArrayResponse", "http://soapinterop.org/");
   	ArrayOfint v0 = (ArrayOfint&)pIWSDZ->GetBasicArray(XSD_INT,"inputIntegerArray",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfint ret = pWs->echoIntegerArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_INT, "echoIntegerArrayReturn");
   }
  @@ -160,6 +168,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoFloat(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -169,6 +178,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoFloat", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoFloatResponse", "http://soapinterop.org/");
   	float v0 = pIWSDZ->GetElementAsFloat("inputFloat",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	float ret = pWs->echoFloat(v0);
   	return pIWSSZ->AddOutputParam("echoFloatReturn", (void*)&ret, XSD_FLOAT);
   }
  @@ -179,6 +189,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoFloatArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -188,6 +199,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoFloatArray", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoFloatArrayResponse", "http://soapinterop.org/");
   	ArrayOffloat v0 = (ArrayOffloat&)pIWSDZ->GetBasicArray(XSD_FLOAT,"inputFloatArray",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOffloat ret = pWs->echoFloatArray(v0);
   	return pIWSSZ->AddOutputBasicArrayParam((Axis_Array*)(&ret), XSD_FLOAT, "echoFloatArrayReturn");
   }
  @@ -198,6 +210,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -209,6 +222,7 @@
   	SOAPStruct *v0 = (SOAPStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPStruct
   		, (void*)Axis_Create_SOAPStruct, (void*)Axis_Delete_SOAPStruct
   		, "structInput", "");
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStruct *ret = pWs->echoStruct(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct, "structReturn", "");
   }
  @@ -219,6 +233,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoStructArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -230,6 +245,7 @@
   	ArrayOfSOAPStruct v0 = (ArrayOfSOAPStruct&)pIWSDZ->GetCmplxArray((void*)Axis_DeSerialize_SOAPStruct
   		, (void*)Axis_Create_SOAPStruct, (void*)Axis_Delete_SOAPStruct
   		, (void*)Axis_GetSize_SOAPStruct, "structArray", "");
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	ArrayOfSOAPStruct ret = pWs->echoStructArray(v0);
   	return pIWSSZ->AddOutputCmplxArrayParam((Axis_Array*)(&ret),(void*) Axis_Serialize_SOAPStruct, (void*) Axis_Delete_SOAPStruct, (void*) Axis_GetSize_SOAPStruct, "structArrayReturn", "");
   }
  @@ -240,6 +256,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoVoid(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -248,6 +265,7 @@
   	if (!pIWSDZ) return AXIS_FAIL;
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoVoid", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoVoidResponse", "http://soapinterop.org/");
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	pWs->echoVoid();
   	return AXIS_SUCCESS;
   }
  @@ -258,6 +276,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoBase64(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -267,6 +286,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoBase64", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoBase64Response", "http://soapinterop.org/");
   	xsd__base64Binary v0 = pIWSDZ->GetElementAsBase64Binary("inputBase64",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__base64Binary ret = pWs->echoBase64(v0);
   	return pIWSSZ->AddOutputParam("echoBase64Return", (void*)&ret, XSD_BASE64BINARY);
   }
  @@ -277,6 +297,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoDate(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -286,6 +307,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoDate", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoDateResponse", "http://soapinterop.org/");
   	xsd__dateTime v0 = pIWSDZ->GetElementAsDateTime("inputDate",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__dateTime ret = pWs->echoDate(v0);
   	return pIWSSZ->AddOutputParam("echoDateReturn", (void*)&ret, XSD_DATETIME);
   }
  @@ -296,6 +318,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoHexBinary(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -305,6 +328,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoHexBinary", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoHexBinaryResponse", "http://soapinterop.org/");
   	xsd__hexBinary v0 = pIWSDZ->GetElementAsHexBinary("inputHexBinary",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__hexBinary ret = pWs->echoHexBinary(v0);
   	return pIWSSZ->AddOutputParam("echoHexBinaryReturn", (void*)&ret, XSD_HEXBINARY);
   }
  @@ -315,6 +339,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoDecimal(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -324,6 +349,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoDecimal", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoDecimalResponse", "http://soapinterop.org/");
   	xsd__decimal v0 = pIWSDZ->GetElementAsDecimal("inputDecimal",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__decimal ret = pWs->echoDecimal(v0);
   	return pIWSSZ->AddOutputParam("echoDecimalReturn", (void*)&ret, XSD_DECIMAL);
   }
  @@ -334,6 +360,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeWrapper::echoBoolean(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -343,6 +370,7 @@
   	if (AXIS_SUCCESS != pIWSDZ->CheckMessageBody("echoBoolean", "")) return AXIS_FAIL;
   	pIWSSZ->CreateSoapMethod("echoBooleanResponse", "http://soapinterop.org/");
   	xsd__boolean v0 = pIWSDZ->GetElementAsBoolean("inputBoolean",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	xsd__boolean ret = pWs->echoBoolean(v0);
   	return pIWSSZ->AddOutputParam("echoBooleanReturn", (void*)&ret, XSD_BOOLEAN);
   }
  
  
  
  1.2       +8 -0      ws-axis/c/src/server/samples/interoptests/doclitgroupB/InteropTestPortTypeBWrapper.cpp
  
  Index: InteropTestPortTypeBWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/samples/interoptests/doclitgroupB/InteropTestPortTypeBWrapper.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InteropTestPortTypeBWrapper.cpp	12 Jan 2004 12:39:56 -0000	1.1
  +++ InteropTestPortTypeBWrapper.cpp	21 Jan 2004 07:43:14 -0000	1.2
  @@ -77,6 +77,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoStructAsSimpleTypes(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -91,6 +92,7 @@
   	AxisChar* outValue0;
   	int outValue1;
   	float outValue2;
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	pWs->echoStructAsSimpleTypes(v0, &outValue0, &outValue1, &outValue2);
   	if (AXIS_SUCCESS != pIWSSZ->AddOutputParam("String", (void*)&outValue0, XSD_STRING)) return AXIS_FAIL;
   	if (AXIS_SUCCESS != pIWSSZ->AddOutputParam("Int", (void*)&outValue1, XSD_INT)) return AXIS_FAIL;
  @@ -104,6 +106,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoSimpleTypesAsStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -115,6 +118,7 @@
   	float v0 = pIWSDZ->GetElementAsFloat("inputFloat",0);
   	int v1 = pIWSDZ->GetElementAsInt("inputInteger",0);
   	AxisChar* v2 = pIWSDZ->GetElementAsString("inputString",0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStruct *ret = pWs->echoSimpleTypesAsStruct(v0,v1,v2);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct, "echoSimpleTypesAsStructReturn", "");
   }
  @@ -134,6 +138,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoNestedStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -145,6 +150,7 @@
   	SOAPStructStruct *v0 = (SOAPStructStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPStructStruct
   		, (void*)Axis_Create_SOAPStructStruct, (void*)Axis_Delete_SOAPStructStruct
   		, "inputStruct", Axis_URI_SOAPStructStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStructStruct *ret = pWs->echoNestedStruct(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStructStruct, (void*)Axis_Delete_SOAPStructStruct, "outputStruct", "");
   }
  @@ -155,6 +161,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoNestedArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -166,6 +173,7 @@
   	SOAPArrayStruct *v0 = (SOAPArrayStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPArrayStruct
   		, (void*)Axis_Create_SOAPArrayStruct, (void*)Axis_Delete_SOAPArrayStruct
   		, "inputArrayStruct", Axis_URI_SOAPArrayStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPArrayStruct *ret = pWs->echoNestedArray(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPArrayStruct, (void*)Axis_Delete_SOAPArrayStruct, "outputArrayStruct", "");
   }
  
  
  
  1.3       +1 -1      ws-axis/c/src/server/samples/interoptests/doclitgroupB/SOAPStructStruct.cpp
  
  Index: SOAPStructStruct.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/samples/interoptests/doclitgroupB/SOAPStructStruct.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SOAPStructStruct.cpp	20 Jan 2004 14:05:16 -0000	1.2
  +++ SOAPStructStruct.cpp	21 Jan 2004 07:43:14 -0000	1.3
  @@ -57,7 +57,7 @@
   
   SOAPStructStruct::~SOAPStructStruct()
   {
  -	delete varString;
  +	if (varString) free(varString);
   	delete varStruct;
   }
   /////////////////////////////////////////////////////////////////////////////
  
  
  
  1.8       +8 -0      ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeBWrapper.cpp
  
  Index: InteropTestPortTypeBWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeBWrapper.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- InteropTestPortTypeBWrapper.cpp	12 Jan 2004 12:20:54 -0000	1.7
  +++ InteropTestPortTypeBWrapper.cpp	21 Jan 2004 07:43:14 -0000	1.8
  @@ -77,6 +77,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoStructAsSimpleTypes(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -91,6 +92,7 @@
   	AxisChar* outValue0;
   	int outValue1;
   	float outValue2;
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	pWs->echoStructAsSimpleTypes(v0, &outValue0, &outValue1, &outValue2);
   	if (AXIS_SUCCESS != pIWSSZ->AddOutputParam("String", (void*)&outValue0, XSD_STRING)) return AXIS_FAIL;
   	if (AXIS_SUCCESS != pIWSSZ->AddOutputParam("Int", (void*)&outValue1, XSD_INT)) return AXIS_FAIL;
  @@ -104,6 +106,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoSimpleTypesAsStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -115,6 +118,7 @@
   	float v0 = pIWSDZ->GetElementAsFloat(0,0);
   	int v1 = pIWSDZ->GetElementAsInt(0,0);
   	AxisChar* v2 = pIWSDZ->GetElementAsString(0,0);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStruct *ret = pWs->echoSimpleTypesAsStruct(v0,v1,v2);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct, "echoSimpleTypesAsStructReturn", "");
   }
  @@ -134,6 +138,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoNestedStruct(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -145,6 +150,7 @@
   	SOAPStructStruct *v0 = (SOAPStructStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPStructStruct
   		, (void*)Axis_Create_SOAPStructStruct, (void*)Axis_Delete_SOAPStructStruct
   		, Axis_TypeName_SOAPStructStruct, Axis_URI_SOAPStructStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPStructStruct *ret = pWs->echoNestedStruct(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPStructStruct, (void*)Axis_Delete_SOAPStructStruct, "echoNestedStructReturn", "");
   }
  @@ -155,6 +161,7 @@
   //////////////////////////////////////////////////////////////////
   int InteropTestPortTypeBWrapper::echoNestedArray(IMessageData* mc)
   {
  +	int nStatus = AXIS_SUCCESS;
   	IWrapperSoapSerializer *pIWSSZ = NULL;
   	mc->GetSoapSerializer(&pIWSSZ);
   	if (!pIWSSZ) return AXIS_FAIL;
  @@ -166,6 +173,7 @@
   	SOAPArrayStruct *v0 = (SOAPArrayStruct*)pIWSDZ->GetCmplxObject((void*)Axis_DeSerialize_SOAPArrayStruct
   		, (void*)Axis_Create_SOAPArrayStruct, (void*)Axis_Delete_SOAPArrayStruct
   		, Axis_TypeName_SOAPArrayStruct, Axis_URI_SOAPArrayStruct);
  +	if (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;
   	SOAPArrayStruct *ret = pWs->echoNestedArray(v0);
   	return pIWSSZ->AddOutputCmplxParam(ret, (void*)Axis_Serialize_SOAPArrayStruct, (void*)Axis_Delete_SOAPArrayStruct, "echoNestedArrayReturn", "");
   }
  
  
  
  1.16      +2 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/WrapWriter.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- WrapWriter.java	19 Jan 2004 07:44:12 -0000	1.15
  +++ WrapWriter.java	21 Jan 2004 07:43:14 -0000	1.16
  @@ -256,6 +256,7 @@
   		writer.write(" */\n");
   		//method signature
   		writer.write("int "+ methodName + CUtils.WRAPPER_METHOD_APPENDER+ "(IMessageData* mc)\n{\n");
  +		writer.write("\tint nStatus;\n");
   		writer.write("\tIMessageDataFunctions* pmcX = mc->__vfptr;\n");
   		writer.write("\tIWrapperSoapDeSerializer* pDZ = NULL;\n");
   		writer.write("\tIWrapperSoapDeSerializerFunctions* pDZX = NULL;\n");
  @@ -321,7 +322,7 @@
   					"\n\t\t, Axis_TypeName_"+paraTypeName+", Axis_URI_"+paraTypeName+");\n");
   			}
   		}
  -		
  +		writer.write("\tif (AXIS_SUCCESS != (nStatus = pDZX->GetStatus(pDZ))) return nStatus;\n");		
   		if(returntype != null){
   			/* Invoke the service when return type not void */
   			writer.write("\tret = "+methodName+"(");
  
  
  
  1.7       +2 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/WrapWriter.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WrapWriter.java	19 Jan 2004 07:44:12 -0000	1.6
  +++ WrapWriter.java	21 Jan 2004 07:43:15 -0000	1.7
  @@ -256,6 +256,7 @@
   		writer.write(" */\n");
   		//method signature
   		writer.write("int "+ methodName + CUtils.WRAPPER_METHOD_APPENDER+ "(IMessageData* mc)\n{\n");
  +		writer.write("\tint nStatus;\n");
   		writer.write("\tIMessageDataFunctions* pmcX = mc->__vfptr;\n");
   		writer.write("\tIWrapperSoapDeSerializer* pDZ = NULL;\n");
   		writer.write("\tIWrapperSoapDeSerializerFunctions* pDZX = NULL;\n");
  @@ -322,7 +323,7 @@
   					"\n\t\t,\""+parameterName+"\", Axis_URI_"+paraTypeName+");\n");
   			}
   		}
  -		
  +		writer.write("\tif (AXIS_SUCCESS != (nStatus = pDZX->GetStatus(pDZ))) return nStatus;\n");				
   		if(returntype != null){
   			String returnParamName = returntype.getParamName();
   			/* Invoke the service when return type not void */
  
  
  
  1.16      +2 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/WrapWriter.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- WrapWriter.java	19 Jan 2004 07:44:13 -0000	1.15
  +++ WrapWriter.java	21 Jan 2004 07:43:15 -0000	1.16
  @@ -244,6 +244,7 @@
   		writer.write(" */\n");
   		//method signature
   		writer.write("int "+classname+"::" + methodName + "(IMessageData* mc)\n{\n");
  +		writer.write("\tint nStatus;\n");
   		writer.write("\tIWrapperSoapSerializer *pIWSSZ = NULL;\n");
   		writer.write("\tmc->GetSoapSerializer(&pIWSSZ);\n");
   		writer.write("\tif (!pIWSSZ) return AXIS_FAIL;\n");
  @@ -284,7 +285,7 @@
   					"\n\t\t, \""+parameterName+"\", Axis_URI_"+paraTypeName+");\n");				
   			}
   		}
  -			
  +		writer.write("\tif (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;\n");			
   		if(returntype != null){				
   			/* Invoke the service when return type not void */
   			writer.write("\t"+outparamType+((returntypeisarray || returntypeissimple)?" ":" *")+ "ret = "+"pWs->"+methodName+"(");
  
  
  
  1.6       +2 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- WrapWriter.java	19 Jan 2004 07:44:13 -0000	1.5
  +++ WrapWriter.java	21 Jan 2004 07:43:15 -0000	1.6
  @@ -244,6 +244,7 @@
   		writer.write(" */\n");
   		//method signature
   		writer.write("int "+classname+"::" + methodName + "(IMessageData* mc)\n{\n");
  +		writer.write("\tint nStatus;\n");
   		writer.write("\tIWrapperSoapSerializer *pIWSSZ = NULL;\n");
   		writer.write("\tmc->GetSoapSerializer(&pIWSSZ);\n");
   		writer.write("\tif (!pIWSSZ) return AXIS_FAIL;\n");
  @@ -284,7 +285,7 @@
   					"\n\t\t, \""+parameterName+"\", Axis_URI_"+paraTypeName+");\n");				
   			}
   		}
  -			
  +		writer.write("\tif (AXIS_SUCCESS != (nStatus = pIWSDZ->GetStatus())) return nStatus;\n");
   		if(returntype != null){				
   			/* Invoke the service when return type not void */
   			writer.write("\t"+outparamType+((returntypeisarray || returntypeissimple)?" ":" *")+ "ret = "+"pWs->"+methodName+"(");