axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ros...@apache.org
Subject cvs commit: xml-axis/c/src/soap SoapDeSerializer.h
Date Fri, 01 Aug 2003 14:34:54 GMT
roshan      2003/08/01 07:34:53

  Modified:    c/src/common MessageData.h MessageData.cpp
                        ISoapDeSerializer.h IMessageData.h IAccessBean.h
                        ArrayBean.h ArrayBean.cpp AccessBean.cpp
               c/src/server/samples/serviceinteropbase BaseTestsWrapper.cpp
               c/src/server/samples/serviceinteropgroupb
                        GroupBTestsWrapper.cpp
               c/src/server/samples/webservicewrapper WebServiceWrapper.cpp
               c/src/soap SoapDeSerializer.h
  Added:       c/src/common IWrapperSoapDeSerializer.h
                        IHandlerSoapDeSerializer.h
  Log:
  after introducing the new DeSerializer interfaces IWrapperSoapDeSerializer and IHandlerSoapDeSerializer
  
  Revision  Changes    Path
  1.7       +3 -1      xml-axis/c/src/common/MessageData.h
  
  Index: MessageData.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/MessageData.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MessageData.h	26 Jul 2003 11:45:24 -0000	1.6
  +++ MessageData.h	1 Aug 2003 14:34:53 -0000	1.7
  @@ -94,9 +94,11 @@
   	SoapSerializer* m_pSZ;
   	SoapDeSerializer* m_pDZ;
   public:
  +	void getSoapDeSerializer(IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer);
  +	void getSoapDeSerializer(IWrapperSoapDeSerializer** pIWrapperSoapDeSerializer);
   	void getSoapSerializer(IHandlerSoapSerializer** pIHandlerSoapSerializer);
   	void getSoapSerializer(IWrapperSoapSerializer** pIWrapperSoapSerializer);	
  -	ISoapDeSerializer* getSoapDeserializer();
  +	IWrapperSoapDeSerializer* getSoapDeserializer();
   	/*
   	comm on 25Jul2003 at 10.00am
   	ISoapSerializer* getSoapSerializer();
  
  
  
  1.6       +11 -1     xml-axis/c/src/common/MessageData.cpp
  
  Index: MessageData.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/MessageData.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MessageData.cpp	26 Jul 2003 11:45:24 -0000	1.5
  +++ MessageData.cpp	1 Aug 2003 14:34:53 -0000	1.6
  @@ -120,7 +120,7 @@
   }
   */
   
  -ISoapDeSerializer* MessageData::getSoapDeserializer()
  +IWrapperSoapDeSerializer* MessageData::getSoapDeserializer()
   {
   	return m_pDZ;
   }
  @@ -145,4 +145,14 @@
   void MessageData::getSoapSerializer(IWrapperSoapSerializer **pIWrapperSoapSerializer)
   {
   	*pIWrapperSoapSerializer = dynamic_cast<IWrapperSoapSerializer*>(m_pSZ);
  +}
  +
  +void MessageData::getSoapDeSerializer(IWrapperSoapDeSerializer **pIWrapperSoapDeSerializer)
  +{
  +	*pIWrapperSoapDeSerializer= dynamic_cast<IWrapperSoapDeSerializer*>(m_pDZ);
  +}
  +
  +void MessageData::getSoapDeSerializer(IHandlerSoapDeSerializer **pIHandlerSoapDeSerializer)
  +{
  +	*pIHandlerSoapDeSerializer= dynamic_cast<IHandlerSoapDeSerializer*>(m_pDZ);
   }
  
  
  
  1.4       +1 -3      xml-axis/c/src/common/ISoapDeSerializer.h
  
  Index: ISoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/ISoapDeSerializer.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ISoapDeSerializer.h	26 Jul 2003 12:19:12 -0000	1.3
  +++ ISoapDeSerializer.h	1 Aug 2003 14:34:53 -0000	1.4
  @@ -73,9 +73,7 @@
   class ISoapDeSerializer
   {
   public:
  -	virtual string& GetMethodName()=0;
  -	virtual IParam* GetParam()=0;
  -	virtual int Deserialize(IParam* pIParam, int bHref)=0;
  +	virtual ~ISoapDeSerializer() {};
   };
   
   #endif // !defined(AFX_ISOAPDESERIALIZER_H__BE214866_1A80_44C4_9AAD_0475B0C5EA1C__INCLUDED_)
  
  
  
  1.6       +7 -2      xml-axis/c/src/common/IMessageData.h
  
  Index: IMessageData.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/IMessageData.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- IMessageData.h	26 Jul 2003 12:19:12 -0000	1.5
  +++ IMessageData.h	1 Aug 2003 14:34:53 -0000	1.6
  @@ -70,7 +70,8 @@
   #include <string>
   using namespace std;
   
  -class ISoapDeSerializer;
  +class IWrapperSoapDeSerializer;
  +class IHandlerSoapDeSerializer;
   //class ISoapSerializer;
   class IHandlerSoapSerializer;
   class IWrapperSoapSerializer;
  @@ -84,7 +85,11 @@
   	comm on 26Jul2003 2.50pm
   	virtual ISoapSerializer* getSoapSerializer()=0;
   	*/
  -	virtual ISoapDeSerializer* getSoapDeserializer()=0;
  +	virtual IWrapperSoapDeSerializer* getSoapDeserializer()=0;
  +
  +	virtual void getSoapDeSerializer(IWrapperSoapDeSerializer** pIWrapperSoapDeSerializer)=0;
  +	virtual void getSoapDeSerializer(IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer)=0;
  +
   	virtual void SetUserName(string& m_sUserName)=0;
   	virtual string& GetUserName()=0;
   	virtual bool isPastPivot()=0;
  
  
  
  1.3       +3 -3      xml-axis/c/src/common/IAccessBean.h
  
  Index: IAccessBean.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/IAccessBean.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IAccessBean.h	26 Jul 2003 12:19:12 -0000	1.2
  +++ IAccessBean.h	1 Aug 2003 14:34:53 -0000	1.3
  @@ -10,10 +10,10 @@
   #endif // _MSC_VER > 1000
   
   //this is a trick :-)
  -#define ACCESSBEAN_SERIALIZABLE int DeSerialize(ISoapDeSerializer *pDZ);int Serialize(IWrapperSoapSerializer&
pSZ); int GetSize();
  +#define ACCESSBEAN_SERIALIZABLE int DeSerialize(IWrapperSoapDeSerializer *pDZ);int Serialize(IWrapperSoapSerializer&
pSZ); int GetSize();
   
   #include "IWrapperSoapSerializer.h"
  -#include "ISoapDeSerializer.h"
  +#include "IWrapperSoapDeSerializer.h"
   
   class IAccessBean  
   {
  @@ -22,7 +22,7 @@
   public:
   	IAccessBean(){};
   	virtual ~IAccessBean(){};
  -	virtual int DeSerialize(ISoapDeSerializer *pDZ) = 0;
  +	virtual int DeSerialize(IWrapperSoapDeSerializer *pDZ) = 0;
   	virtual int Serialize(IWrapperSoapSerializer& pSZ) = 0;
   	virtual int GetSize() = 0;
   protected:
  
  
  
  1.3       +1 -1      xml-axis/c/src/common/ArrayBean.h
  
  Index: ArrayBean.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/ArrayBean.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ArrayBean.h	26 Jul 2003 12:17:00 -0000	1.2
  +++ ArrayBean.h	1 Aug 2003 14:34:53 -0000	1.3
  @@ -21,7 +21,7 @@
   public:
   	ArrayBean();
   	virtual ~ArrayBean();
  -	virtual int DeSerialize(ISoapDeSerializer *pDZ);
  +	virtual int DeSerialize(IWrapperSoapDeSerializer *pDZ);
   	virtual int Serialize(IWrapperSoapSerializer& pSZ);
   	int GetArraySize();
   private:
  
  
  
  1.3       +1 -1      xml-axis/c/src/common/ArrayBean.cpp
  
  Index: ArrayBean.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/ArrayBean.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ArrayBean.cpp	26 Jul 2003 12:17:00 -0000	1.2
  +++ ArrayBean.cpp	1 Aug 2003 14:34:53 -0000	1.3
  @@ -100,7 +100,7 @@
   	}
   }
   */
  -int ArrayBean::DeSerialize(ISoapDeSerializer *pDZ)
  +int ArrayBean::DeSerialize(IWrapperSoapDeSerializer *pDZ)
   {
   	Param* p;
   	if ((XSD_UNKNOWN == m_type) ||(0==m_size.size())||(!m_value.sta)) return FAIL;
  
  
  
  1.6       +1 -1      xml-axis/c/src/common/AccessBean.cpp
  
  Index: AccessBean.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/common/AccessBean.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AccessBean.cpp	26 Jul 2003 12:17:00 -0000	1.5
  +++ AccessBean.cpp	1 Aug 2003 14:34:53 -0000	1.6
  @@ -5,7 +5,7 @@
   }
   
   //this is never called. just default method
  -int AccessBean::DeSerialize(ISoapDeSerializer *pDZ)
  +int AccessBean::DeSerialize(IWrapperSoapDeSerializer *pDZ)
   {
   	return SUCCESS;
   }
  
  
  
  1.1                  xml-axis/c/src/common/IWrapperSoapDeSerializer.h
  
  Index: IWrapperSoapDeSerializer.h
  ===================================================================
  /* -*- C++ -*- */
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "SOAP" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   *
   *
   *
   * @author Roshan Weerasuriya (roshan@jkcs.slt.lk, roshan@opensource.lk)
   *
   */
  
  // IWrapperSoapDeSerializer.h: interface for the IWrapperSoapDeSerializer class.
  //
  //////////////////////////////////////////////////////////////////////
  
  #if !defined(AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_)
  #define AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  #include "ISoapDeSerializer.h"
  #include <string>
  using namespace std;
  class IParam;
  
  class IWrapperSoapDeSerializer : public ISoapDeSerializer
  {
  public:
  	virtual string& GetMethodName()=0;
  	virtual IParam* GetParam()=0;
  	virtual int Deserialize(IParam* pIParam, int bHref)=0;
  	virtual ~IWrapperSoapDeSerializer() {};
  
  };
  
  #endif // !defined(AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_)
  
  
  
  1.1                  xml-axis/c/src/common/IHandlerSoapDeSerializer.h
  
  Index: IHandlerSoapDeSerializer.h
  ===================================================================
  /* -*- C++ -*- */
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "SOAP" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   *
   *
   *
   * @author Roshan Weerasuriya (roshan@jkcs.slt.lk, roshan@opensource.lk)
   *
   */
  
  // IHandlerSoapDeSerializer.h: interface for the IHandlerSoapDeSerializer class.
  //
  //////////////////////////////////////////////////////////////////////
  
  #if !defined(AFX_IHANDLERSOAPDESERIALIZER_H__EAD744F9_FEB3_4885_9510_D7BAD8C5AD1C__INCLUDED_)
  #define AFX_IHANDLERSOAPDESERIALIZER_H__EAD744F9_FEB3_4885_9510_D7BAD8C5AD1C__INCLUDED_
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  class IHandlerSoapDeSerializer : public ISoapDeSerializer
  {
  public:
  
  	virtual ~IHandlerSoapDeSerializer() {};
  
  };
  
  #endif // !defined(AFX_IHANDLERSOAPDESERIALIZER_H__EAD744F9_FEB3_4885_9510_D7BAD8C5AD1C__INCLUDED_)
  
  
  
  1.4       +1 -1      xml-axis/c/src/server/samples/serviceinteropbase/BaseTestsWrapper.cpp
  
  Index: BaseTestsWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/samples/serviceinteropbase/BaseTestsWrapper.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BaseTestsWrapper.cpp	27 Jul 2003 07:11:15 -0000	1.3
  +++ BaseTestsWrapper.cpp	1 Aug 2003 14:34:53 -0000	1.4
  @@ -3,7 +3,7 @@
   //////////////////////////////////////////////////////////////////////
   
   #include "BaseTestsWrapper.h"
  -#include "../../../common/ISoapDeSerializer.h"
  +#include "../../../common/IWrapperSoapDeSerializer.h"
   #include "../../../common/IWrapperSoapSerializer.h"
   #include "../../../common/BasicTypeSerializer.h"
   
  
  
  
  1.4       +1 -1      xml-axis/c/src/server/samples/serviceinteropgroupb/GroupBTestsWrapper.cpp
  
  Index: GroupBTestsWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/samples/serviceinteropgroupb/GroupBTestsWrapper.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- GroupBTestsWrapper.cpp	27 Jul 2003 07:11:44 -0000	1.3
  +++ GroupBTestsWrapper.cpp	1 Aug 2003 14:34:53 -0000	1.4
  @@ -3,7 +3,7 @@
   //////////////////////////////////////////////////////////////////////
   
   #include "GroupBTestsWrapper.h"
  -#include "../../../common/ISoapDeSerializer.h"
  +#include "../../../common/IWrapperSoapDeSerializer.h"
   #include "../../../common/IWrapperSoapSerializer.h"
   #include "../../../common/BasicTypeSerializer.h"
   
  
  
  
  1.7       +34 -17    xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.cpp
  
  Index: WebServiceWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/samples/webservicewrapper/WebServiceWrapper.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WebServiceWrapper.cpp	27 Jul 2003 07:12:40 -0000	1.6
  +++ WebServiceWrapper.cpp	1 Aug 2003 14:34:53 -0000	1.7
  @@ -66,9 +66,9 @@
   //////////////////////////////////////////////////////////////////////
   
   #include "WebServiceWrapper.h"
  -#include "../../../common/ISoapDeserializer.h"
  +#include "../../../common/IWrapperSoapDeSerializer.h"
  +#include "../../../common/IHandlerSoapDeSerializer.h"
   #include "../../../common/IWrapperSoapSerializer.h"
  -#include "../../../common/BasicTypeSerializer.h"
   #include "../../../common/ISoapMethod.h"
   #include "../../../common/IParam.h"
   #include "../../../common/IAccessBean.h"
  @@ -90,7 +90,10 @@
   // Implementation of WrapperClassHandler interfaces.
   int webservicewrapper::Invoke(IMessageData* mc)
   {
  -	string method = mc->getSoapDeserializer()->GetMethodName();	
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	string method = pIWrapperSoapDeSerializer->GetMethodName();
  +
   	if ((method == "Echo") || (method == "echo"))
   		return Echo(mc);
   	else if ((method == "Add") || (method == "add"))
  @@ -137,7 +140,9 @@
   int webservicewrapper::Echo(IMessageData* mc)
   {
   	SetResponseMethod(mc, "Echo");
  -	IParam *param1 = mc->getSoapDeserializer()->GetParam();
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
   	//We know that parameter 1 should be an string
   	string str = param1->GetString();
   	//Call actual web service method with appropriate parameters
  @@ -165,8 +170,10 @@
   int webservicewrapper::Add(IMessageData* mc)
   {
   	SetResponseMethod(mc, "Add");
  -	IParam *param1 = mc->getSoapDeserializer()->GetParam();
  -	IParam *param2 = mc->getSoapDeserializer()->GetParam();
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
  +	IParam *param2 = pIWrapperSoapDeSerializer->GetParam();
   	//Convert parameters to actual types
   	int i1 = param1->GetInt();
   	int i2 = param2->GetInt();
  @@ -196,11 +203,13 @@
   int webservicewrapper::EchoIntArray(IMessageData *mc)
   {
   	SetResponseMethod(mc, "EchoIntArray");
  -	IParam *param1 = mc->getSoapDeserializer()->GetParam();
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
   	int size = param1->GetArraySize(); //gets full array size 
   	int * arr = new int[size];
   	param1->SetArrayElements((void*)arr);
  -	mc->getSoapDeserializer()->Deserialize(param1,0);
  +	pIWrapperSoapDeSerializer->Deserialize(param1,0);
   
   	int retarrsize = 0;
   	int * retarr;
  @@ -244,15 +253,17 @@
   {
   	SetResponseMethod(mc, "AddPoint");
   
  -	IParam *param1 = mc->getSoapDeserializer()->GetParam();
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
   	Point* p1 = new Point();
   	param1->SetUserType(p1);
  -	mc->getSoapDeserializer()->Deserialize(param1,0);
  +	pIWrapperSoapDeSerializer->Deserialize(param1,0);
   	
  -	IParam *param2 = mc->getSoapDeserializer()->GetParam();
  +	IParam *param2 = pIWrapperSoapDeSerializer->GetParam();
   	Point* p2 = new Point();
   	param2->SetUserType(p2);
  -	mc->getSoapDeserializer()->Deserialize(param2,0);
  +	pIWrapperSoapDeSerializer->Deserialize(param2,0);
   	
   	Point* pRet = pWs->AddPoint(p1, p2);
   
  @@ -277,11 +288,14 @@
   int webservicewrapper::EchoPointArray(IMessageData *mc)
   {
   	SetResponseMethod(mc, "EchoPointArray");
  -	IParam *param1 = mc->getSoapDeserializer()->GetParam();
  +
  +	IWrapperSoapDeSerializer* pIWrapperSoapDeSerializer;
  +	mc->getSoapDeSerializer(&pIWrapperSoapDeSerializer);
  +	IParam *param1 = pIWrapperSoapDeSerializer->GetParam();
   	int size = param1->GetArraySize(); //gets full array size 
   	Point* arr = new Point[size];
   	param1->SetArrayElements((void*)arr);
  -	mc->getSoapDeserializer()->Deserialize(param1,0);
  +	pIWrapperSoapDeSerializer->Deserialize(param1,0);
   	
   	Point* pRet = pWs->EchoPointArray(size, arr,&size);
   	//delete [] arr;
  @@ -314,7 +328,7 @@
   	return SUCCESS;	
   }
   
  -int Point::DeSerialize(ISoapDeSerializer *pDZ)
  +int Point::DeSerialize(IWrapperSoapDeSerializer *pDZ)
   {
   	x = pDZ->GetParam()->GetInt();
   	y = pDZ->GetParam()->GetInt();
  @@ -326,9 +340,12 @@
   	m_URI = "http://www.opensource.lk/Axis/";
   	m_TypeName = "Point";
   	pSZ << "<" << m_TypeName.c_str() << " xsi:type=\"ns1:" << m_TypeName.c_str()
<< " xmlns:ns1=\"" << m_URI.c_str() << "\">";
  -	pSZ << BasicTypeSerializer::serialize("x", x).c_str();
  -	pSZ << BasicTypeSerializer::serialize("y", y).c_str();
  +
  +	pSZ << pSZ.SerializeBasicType("x", x).c_str();
  +	pSZ << pSZ.SerializeBasicType("y", y).c_str();
  +
   	pSZ << "</" << m_TypeName.c_str() << ">";
  +
   	return SUCCESS;
   }
   
  
  
  
  1.5       +3 -2      xml-axis/c/src/soap/SoapDeSerializer.h
  
  Index: SoapDeSerializer.h
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/soap/SoapDeSerializer.h,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SoapDeSerializer.h	21 Jul 2003 14:21:09 -0000	1.4
  +++ SoapDeSerializer.h	1 Aug 2003 14:34:53 -0000	1.5
  @@ -71,7 +71,8 @@
   #pragma once
   #endif // _MSC_VER > 1000
   
  -#include "../common/ISoapDeSerializer.h"
  +#include "../common/IWrapperSoapDeSerializer.h"
  +#include "../common/IHandlerSoapDeSerializer.h"
   #include "XMLStreamHandler.h"
   
   class SoapEnvelope;
  @@ -80,7 +81,7 @@
   class SoapBody;
   class SoapFault;
   
  -class SoapDeSerializer : public ISoapDeSerializer
  +class SoapDeSerializer : public IWrapperSoapDeSerializer, public IHandlerSoapDeSerializer
   {
   private:
   	XMLStreamHandler* m_pHandler;
  
  
  

Mime
View raw message