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 da...@apache.org on 2004/05/10 06:21:10 UTC

cvs commit: ws-axis/c/src/soap SoapDeSerializer.cpp

damitha     2004/05/09 21:21:10

  Modified:    c/include/axis/client Call.h
               c/include/axis/server IWrapperSoapDeSerializer.h
                        SoapDeSerializer.h
               c/samples/client configure.ac
               c/samples/client/simple CalcClient.cpp Calculator.cpp
                        Calculator.h Makefile.am
               c/samples/server configure.ac
               c/samples/server/simple CalculatorWrapper.cpp
               c/src/client/adminclient Makefile.am
               c/src/engine/client Call.cpp
               c/src/server/simple_axis_server Makefile.am
               c/src/soap SoapDeSerializer.cpp
  Log:
  
  
  Revision  Changes    Path
  1.12      +5 -5      ws-axis/c/include/axis/client/Call.h
  
  Index: Call.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/client/Call.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Call.h	6 May 2004 03:55:18 -0000	1.11
  +++ Call.h	10 May 2004 04:21:09 -0000	1.12
  @@ -79,7 +79,7 @@
        * as basic types 
        */
   	int (AXISCALL* getElementAsInt)(void* pObj, const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult);
  +        const AxisChar* pNamespace);
   	xsd__boolean (AXISCALL* getElementAsBoolean)(void* pObj, 
           const AxisChar* pName, const AxisChar* pNamespace);
       unsigned int (AXISCALL* getElementAsUnsignedInt)(void* pObj, 
  @@ -226,7 +226,7 @@
        * as basic types 
        */
   	virtual int AXISCALL getElementAsInt(const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult)=0;
  +        const AxisChar* pNamespace)=0;
   	virtual xsd__boolean AXISCALL getElementAsBoolean(const AxisChar* pName, 
           const AxisChar* pNamespace)=0;
       virtual unsigned int AXISCALL getElementAsUnsignedInt(const AxisChar* 
  @@ -381,8 +381,8 @@
       pNamespace);};
   
   	static int AXISCALL s_GetElementAsInt(void* pObj, const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult)
  -	{ return ((CallBase*)pObj)->getElementAsInt(pName, pNamespace, iResult);};
  +        const AxisChar* pNamespace)
  +	{ return ((CallBase*)pObj)->getElementAsInt(pName, pNamespace);};
   	static xsd__boolean AXISCALL s_GetElementAsBoolean(void* pObj, 
           const AxisChar* pName, const AxisChar* pNamespace)
   	{ return ((CallBase*)pObj)->getElementAsBoolean(pName, pNamespace);};
  @@ -650,7 +650,7 @@
        * as basic types 
        */
   	int AXISCALL getElementAsInt(const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult);
  +        const AxisChar* pNamespace);
           int AXISCALL getFaultDetail(char** ppcDetail);
   	xsd__boolean AXISCALL getElementAsBoolean(const AxisChar* pName, 
           const AxisChar* pNamespace);
  
  
  
  1.16      +4 -4      ws-axis/c/include/axis/server/IWrapperSoapDeSerializer.h
  
  Index: IWrapperSoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/server/IWrapperSoapDeSerializer.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- IWrapperSoapDeSerializer.h	6 May 2004 03:55:18 -0000	1.15
  +++ IWrapperSoapDeSerializer.h	10 May 2004 04:21:09 -0000	1.16
  @@ -50,7 +50,7 @@
       
       /* Methods used by wrappers to get a deserialized value of basic types */
       int (AXISCALL* getElementAsInt)(void* pObj, const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult);
  +        const AxisChar* pNamespace);
       int (AXISCALL* getFaultDetail)(void* pObj, char** ppcDetail);
       xsd__boolean (AXISCALL* getElementAsBoolean)(void* pObj, 
           const AxisChar* pName, const AxisChar* pNamespace);
  @@ -181,7 +181,7 @@
       
       /* Methods used by wrappers to get a deserialized value of basic types */
       virtual int AXISCALL getElementAsInt(const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult)=0;
  +        const AxisChar* pNamespace)=0;
       virtual int AXISCALL getFaultDetail(char** ppcDetail) = 0;
       virtual xsd__boolean AXISCALL getElementAsBoolean(const AxisChar* pName, 
           const AxisChar* pNamespace)=0;
  @@ -305,9 +305,9 @@
       {return ((IWrapperSoapDeSerializer*)pObj)->getCmplxObject(pDZFunct, 
       pCreFunct, pDelFunct, pName, pNamespace);};
       static int AXISCALL s_GetElementAsInt(void* pObj, const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult)
  +        const AxisChar* pNamespace)
       { return ((IWrapperSoapDeSerializer*)pObj)->getElementAsInt(pName, 
  -    pNamespace, iResult);};
  +    pNamespace);};
       static int AXISCALL s_GetFaultDetail(void* pObj, char** ppcDetail)
       { return ((IWrapperSoapDeSerializer*)pObj)->getFaultDetail(ppcDetail);};
       static xsd__boolean AXISCALL s_GetElementAsBoolean(void* pObj, const 
  
  
  
  1.14      +1 -1      ws-axis/c/include/axis/server/SoapDeSerializer.h
  
  Index: SoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/server/SoapDeSerializer.h,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SoapDeSerializer.h	6 May 2004 03:55:18 -0000	1.13
  +++ SoapDeSerializer.h	10 May 2004 04:21:09 -0000	1.14
  @@ -103,7 +103,7 @@
       
       /* Methods used by wrappers to get a deserialized value of basic types */
       int AXISCALL getElementAsInt(const AxisChar* pName, 
  -        const AxisChar* pNamespace, int& iResult);
  +        const AxisChar* pNamespace);
       int AXISCALL getFaultDetail(char** ppcDetail);
       xsd__boolean AXISCALL getElementAsBoolean(const AxisChar* pName, 
           const AxisChar* pNamespace);
  
  
  
  1.15      +2 -2      ws-axis/c/samples/client/configure.ac
  
  Index: configure.ac
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/client/configure.ac,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- configure.ac	10 Apr 2004 07:12:14 -0000	1.14
  +++ configure.ac	10 May 2004 04:21:09 -0000	1.15
  @@ -4,9 +4,9 @@
   CFLAGS="-Wshadow -Wall -pedantic -ansi"
   CPPFLAGS="-Wshadow -Wall -pedantic -ansi"
   #if you are using expat parser
  -LDFLAGS="-s -L$AXISCPP_HOME/bin -laxiscpp_client -L$EXPAT_HOME/lib -lexpat -lltdl -lstdc++"
  +LDFLAGS="-s -L$AXISCPP_HOME/bin -laxiscpp_client -L$EXPAT_HOME/lib -lexpat -ldl -lstdc++"
   #if you are using xercesc parser
  -#LDFLAGS="-s -L$AXISCPP_HOME/bin -laxiscpp_client -L$XERCESC_HOME/lib -lxerces-c -lltdl -lstdc++"
  +#LDFLAGS="-s -L$AXISCPP_HOME/bin -laxiscpp_client -L$XERCESC_HOME/lib -lxerces-c -ldl -lstdc++"
   AC_PROG_CC
   AC_PROG_CXX
   AC_PROG_INSTALL
  
  
  
  1.3       +6 -13     ws-axis/c/samples/client/simple/CalcClient.cpp
  
  Index: CalcClient.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/client/simple/CalcClient.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CalcClient.cpp	6 May 2004 03:55:18 -0000	1.2
  +++ CalcClient.cpp	10 May 2004 04:21:09 -0000	1.3
  @@ -13,7 +13,6 @@
   	const char* p2 = 0;
   	int i1=0, i2=0;
           int iResult;
  -        int iStatus;
           char* pcDetail;
   
   	if (argc < 6)
  @@ -49,27 +48,21 @@
   
   	if (strcmp(op, "add") == 0)
   	{
  -                iStatus = ws.add(i1, i2, iResult);
  -                if(0 == iStatus)
  -		    printf("Result : %d\n\n", iResult);
  -                else
  -                {
  -                    printf("Failed\n");
  -                    ws.getFaultDetail(&pcDetail);
  -                    printf("pcDetail:%s\n", pcDetail);
  -                }
  +                iResult = ws.add(i1, i2);
  +                ws.getFaultDetail(&pcDetail);
  +                printf("pcDetail:%s\n", pcDetail);
   	}
   	else 	if (strcmp(op, "sub") == 0)
   	{
  -		printf("Result : %d\n\n", ws.sub(i1, i2, iResult));		
  +		iResult = ws.sub(i1, i2);		
   	}
   	else 	if (strcmp(op, "mul") == 0)
   	{
  -		printf("Result : %d\n\n", ws.mul(i1, i2, iResult));		
  +	        iResult = ws.mul(i1, i2);		
   	}
   	else 	if (strcmp(op, "div") == 0)
   	{
  -		printf("Result : %d\n\n", ws.div(i1, i2, iResult));		
  +		iResult = ws.div(i1, i2);		
   	}
   	else 
   	{
  
  
  
  1.4       +8 -9      ws-axis/c/samples/client/simple/Calculator.cpp
  
  Index: Calculator.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/client/simple/Calculator.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Calculator.cpp	6 May 2004 03:55:18 -0000	1.3
  +++ Calculator.cpp	10 May 2004 04:21:09 -0000	1.4
  @@ -28,7 +28,7 @@
   /*
    * This method wrap the service methodadd
    */
  -int Calculator::add(int Value0, int Value1, int& iResult)
  +int Calculator::add(int Value0, int Value1)
   {
   	int Ret;
   	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  @@ -41,8 +41,7 @@
   	{
   		if(AXIS_SUCCESS == m_pCall->checkMessage("addResponse", "http://localhost/axis/Calculator"))
   		{
  -                        printf("success\n");
  -			Ret = m_pCall->getElementAsInt("addReturn", 0, iResult);
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
                           printf("Ret:%d\n", Ret);
   		}
   	}
  @@ -54,7 +53,7 @@
   /*
    * This method wrap the service methodsub
    */
  -int Calculator::sub(int Value0, int Value1, int& iResult)
  +int Calculator::sub(int Value0, int Value1)
   {
   	int Ret;
   	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  @@ -67,7 +66,7 @@
   	{
   		if(AXIS_SUCCESS == m_pCall->checkMessage("subResponse", "http://localhost/axis/Calculator"))
   		{
  -			Ret = m_pCall->getElementAsInt("subReturn", 0, iResult);
  +			Ret = m_pCall->getElementAsInt("subReturn", 0);
   		}
   	}
   	m_pCall->unInitialize();
  @@ -78,7 +77,7 @@
   /*
    * This method wrap the service methodmul
    */
  -int Calculator::mul(int Value0, int Value1, int& iResult)
  +int Calculator::mul(int Value0, int Value1)
   {
   	int Ret;
   	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  @@ -91,7 +90,7 @@
   	{
   		if(AXIS_SUCCESS == m_pCall->checkMessage("mulResponse", "http://localhost/axis/Calculator"))
   		{
  -			Ret = m_pCall->getElementAsInt("addReturn", 0, iResult);
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
   		}
   	}
   	m_pCall->unInitialize();
  @@ -102,7 +101,7 @@
   /*
    * This method wrap the service methoddiv
    */
  -int Calculator::div(int Value0, int Value1, int& iResult)
  +int Calculator::div(int Value0, int Value1)
   {
   	int Ret;
   	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  @@ -115,7 +114,7 @@
   	{
   		if(AXIS_SUCCESS == m_pCall->checkMessage("divResponse", "http://localhost/axis/Calculator"))
   		{
  -			Ret = m_pCall->getElementAsInt("addReturn", 0, iResult);
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
   		}
   	}
   	m_pCall->unInitialize();
  
  
  
  1.5       +4 -4      ws-axis/c/samples/client/simple/Calculator.h
  
  Index: Calculator.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/client/simple/Calculator.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Calculator.h	6 May 2004 03:55:18 -0000	1.4
  +++ Calculator.h	10 May 2004 04:21:09 -0000	1.5
  @@ -18,10 +18,10 @@
   public:
   	virtual ~Calculator();
   public: 
  -	int add(int Value0,int Value1, int& iResult);
  -	int sub(int Value0,int Value1, int& iResult);
  -	int mul(int Value0,int Value1, int& iResult);
  -	int div(int Value0,int Value1, int& iResult);
  +	int add(int Value0,int Value1);
  +	int sub(int Value0,int Value1);
  +	int mul(int Value0,int Value1);
  +	int div(int Value0,int Value1);
           int getFaultDetail(char** ppcDetail);
   };
   
  
  
  
  1.3       +2 -1      ws-axis/c/samples/client/simple/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/client/simple/Makefile.am,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile.am	10 Apr 2004 07:12:14 -0000	1.2
  +++ Makefile.am	10 May 2004 04:21:09 -0000	1.3
  @@ -3,5 +3,6 @@
   AM_CPPFLAGS = $(CPPFLAGS)
   calculator_SOURCES = Calculator.cpp CalcClient.cpp
   
  -calculator_LDADD   =  $(LDFLAGS)  -L$(AXISCPP_HOME)/bin -laxiscpp_client -lltdl
  +#calculator_LDADD   =  $(LDFLAGS)  -L$(AXISCPP_HOME)/bin -laxiscpp_client -ldl
  +calculator_LDADD   =  $(LDFLAGS)
   INCLUDES = -I$(AXISCPP_HOME)/include
  
  
  
  1.9       +1 -1      ws-axis/c/samples/server/configure.ac
  
  Index: configure.ac
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/server/configure.ac,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- configure.ac	10 Apr 2004 07:12:14 -0000	1.8
  +++ configure.ac	10 May 2004 04:21:09 -0000	1.9
  @@ -3,7 +3,7 @@
   AM_CONFIG_HEADER(config.h)
   CFLAGS="-Wshadow -Wall -pedantic -ansi"
   CPPFLAGS="-Wshadow -Wall -pedantic -ansi"
  -LDFLAGS="-s -L$AXISCPP_HOME/lib/expat -lexpat -lltdl -lstdc++"
  +LDFLAGS="-s -L$AXISCPP_HOME/lib/expat -lexpat -ldl -lstdc++"
   AC_PROG_CC
   AC_PROG_CXX
   AC_PROG_INSTALL
  
  
  
  1.4       +8 -8      ws-axis/c/samples/server/simple/CalculatorWrapper.cpp
  
  Index: CalculatorWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/samples/server/simple/CalculatorWrapper.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CalculatorWrapper.cpp	6 May 2004 03:55:18 -0000	1.3
  +++ CalculatorWrapper.cpp	10 May 2004 04:21:09 -0000	1.4
  @@ -69,8 +69,8 @@
   	/* check whether we have got correct message */
   	if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("add", "http://localhost/axis/Calculator")) return AXIS_FAIL;
   	pIWSSZ->createSoapMethod("addResponse", "http://localhost/axis/Calculator");
  -	int v0;pIWSDZ->getElementAsInt("in0",0, v0);
  -	int v1;pIWSDZ->getElementAsInt("in1",0, v1);
  +	int v0 = pIWSDZ->getElementAsInt("in0",0);
  +	int v1 = pIWSDZ->getElementAsInt("in1",0);
   	if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;
   	int ret = pWs->add(v0,v1);
   	return pIWSSZ->addOutputParam("addReturn", (void*)&ret, XSD_INT);
  @@ -93,8 +93,8 @@
   	/* check whether we have got correct message */
   	if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("sub", "http://localhost/axis/Calculator")) return AXIS_FAIL;
   	pIWSSZ->createSoapMethod("subResponse", "http://localhost/axis/Calculator");
  -	int v0;pIWSDZ->getElementAsInt("in0",0, v0);
  -	int v1;pIWSDZ->getElementAsInt("in1",0, v1);
  +	int v0 = pIWSDZ->getElementAsInt("in0",0);
  +	int v1 = pIWSDZ->getElementAsInt("in1",0);
   	if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;
   	int ret = pWs->sub(v0,v1);
   	return pIWSSZ->addOutputParam("subReturn", (void*)&ret, XSD_INT);
  @@ -117,8 +117,8 @@
   	/* check whether we have got correct message */
   	if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("mul", "http://localhost/axis/Calculator")) return AXIS_FAIL;
   	pIWSSZ->createSoapMethod("mulResponse", "http://localhost/axis/Calculator");
  -	int v0; pIWSDZ->getElementAsInt("in0",0, v0);
  -	int v1; pIWSDZ->getElementAsInt("in1",0, v1);
  +	int v0 = pIWSDZ->getElementAsInt("in0",0);
  +	int v1 = pIWSDZ->getElementAsInt("in1",0);
   	if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;
   	int ret = pWs->mul(v0,v1);
   	return pIWSSZ->addOutputParam("mulReturn", (void*)&ret, XSD_INT);
  @@ -141,8 +141,8 @@
   	/* check whether we have got correct message */
   	if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("div", "http://localhost/axis/Calculator")) return AXIS_FAIL;
   	pIWSSZ->createSoapMethod("divResponse", "http://localhost/axis/Calculator");
  -	int v0; pIWSDZ->getElementAsInt("in0",0, v0 );
  -	int v1; pIWSDZ->getElementAsInt("in1",0, v1);
  +	int v0 = pIWSDZ->getElementAsInt("in0",0);
  +	int v1 = pIWSDZ->getElementAsInt("in1",0);
   	if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;
   	int ret = pWs->div(v0,v1);
   	return pIWSSZ->addOutputParam("divReturn", (void*)&ret, XSD_INT);
  
  
  
  1.3       +1 -1      ws-axis/c/src/client/adminclient/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/client/adminclient/Makefile.am,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile.am	9 Apr 2004 04:53:40 -0000	1.2
  +++ Makefile.am	10 May 2004 04:21:09 -0000	1.3
  @@ -3,5 +3,5 @@
   AM_CPPFLAGS = $(CPPFLAGS)
   adminclient_SOURCES = AxisAdminService.cpp AdminClient.cpp
   
  -adminclient_LDADD   =  $(LDFLAGS) ../../engine/client/libaxiscpp_client.la -lltdl
  +adminclient_LDADD   =  $(LDFLAGS) ../../engine/client/libaxiscpp_client.la -ldl
   INCLUDES = -I$(AXISCPP_HOME)/include
  
  
  
  1.39      +2 -2      ws-axis/c/src/engine/client/Call.cpp
  
  Index: Call.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/engine/client/Call.cpp,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- Call.cpp	6 May 2004 03:55:19 -0000	1.38
  +++ Call.cpp	10 May 2004 04:21:09 -0000	1.39
  @@ -271,9 +271,9 @@
           pName, pNamespace);
   }
   
  -int Call::getElementAsInt (const AxisChar* pName, const AxisChar* pNamespace, int& iResult)
  +int Call::getElementAsInt (const AxisChar* pName, const AxisChar* pNamespace)
   {
  -    return m_pIWSDZ->getElementAsInt (pName, pNamespace, iResult);
  +    return m_pIWSDZ->getElementAsInt (pName, pNamespace);
   }
   
   int Call::getFaultDetail(char** ppcDetail)
  
  
  
  1.2       +1 -1      ws-axis/c/src/server/simple_axis_server/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/server/simple_axis_server/Makefile.am,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.am	9 Apr 2004 16:01:13 -0000	1.1
  +++ Makefile.am	10 May 2004 04:21:10 -0000	1.2
  @@ -3,5 +3,5 @@
   AM_CPPFLAGS = $(CPPFLAGS)
   simple_axis_server_SOURCES = ServerHelper.cpp SimpleAxisServer.cpp 
   
  -simple_axis_server_LDADD = $(LDFLAGS) -L$(AXISCPP_HOME)/src/engine/server -lserver_engine -lltdl
  +simple_axis_server_LDADD = $(LDFLAGS) -L$(AXISCPP_HOME)/src/engine/server -lserver_engine -ldl
   INCLUDES = -I$(AXISCPP_HOME)/include
  
  
  
  1.42      +10 -10    ws-axis/c/src/soap/SoapDeSerializer.cpp
  
  Index: SoapDeSerializer.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapDeSerializer.cpp,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- SoapDeSerializer.cpp	6 May 2004 03:55:19 -0000	1.41
  +++ SoapDeSerializer.cpp	10 May 2004 04:21:10 -0000	1.42
  @@ -1332,23 +1332,23 @@
   }
   
   int SoapDeSerializer::getElementAsInt(const AxisChar* pName, 
  -                                      const AxisChar* pNamespace, int& iResult)
  +                                      const AxisChar* pNamespace)
   {
       int ret = 0;
  -    if (AXIS_SUCCESS != m_nStatus) return AXIS_FAIL;
  +    if (AXIS_SUCCESS != m_nStatus) return ret;
       if (RPC_ENCODED == m_nStyle)
       {
           m_pNode = m_pParser->next();
           /* wrapper node with type info  Ex: <i xsi:type="xsd:int"> */
  -        if (!m_pNode) return AXIS_FAIL;
  +        if (!m_pNode) return ret;
           if (XSD_INT == getXSDType(m_pNode))
           {
               m_pNode = m_pParser->next(true); /* charactor node */
               if (m_pNode && (CHARACTER_ELEMENT == m_pNode->m_type))
               {
  -                iResult = strtol(m_pNode->m_pchNameOrValue, &m_pEndptr, 10);
  +                ret = strtol(m_pNode->m_pchNameOrValue, &m_pEndptr, 10);
                   m_pNode = m_pParser->next(); /* skip end element node too */
  -                return AXIS_SUCCESS;
  +                return ret;
               }
           }
           else
  @@ -1364,20 +1364,20 @@
                */
               m_pNode = m_pParser->next();
               /* wrapper node without type info  Ex: <i> */
  -        if (!m_pNode) return AXIS_FAIL;
  +        if (!m_pNode) return ret;
           if (0 == strcmp(pName, m_pNode->m_pchNameOrValue))
           {
               m_pNode = m_pParser->next(true); /* charactor node */
               if (m_pNode && (CHARACTER_ELEMENT == m_pNode->m_type))
               {
  -                iResult = strtol(m_pNode->m_pchNameOrValue, &m_pEndptr, 10);
  +                ret = strtol(m_pNode->m_pchNameOrValue, &m_pEndptr, 10);
                   m_pNode = m_pParser->next(); /* skip end element node too */
                   m_pNode = NULL;
                   /*
                    * this is important in doc/lit style when deserializing 
                    * arrays
                    */
  -                return AXIS_SUCCESS;
  +                return ret;
               }
               else
               {
  @@ -1395,8 +1395,8 @@
               /* Not a must : m_nStatus = AXIS_FAIL; unexpected SOAP stream */
           }
       }
  -    m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */
  -    return AXIS_FAIL;
  +    m_nStatus = ret; /* unexpected SOAP stream */
  +    return ret;
   }