You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by su...@apache.org on 2004/01/05 05:42:46 UTC

cvs commit: ws-axis/c/vc/server/apache1_3 Apache1_3.dsp

susantha    2004/01/04 20:42:46

  Modified:    c/include/axis/client/transport/axis Tag:
                        Release-2003_10_26-bugfixes_branch Channel.hpp
               c/src/client/samples/interoptests/base Tag:
                        Release-2003_10_26-bugfixes_branch
                        InteropTestPortType.cpp
               c/src/client/transport/axis Tag:
                        Release-2003_10_26-bugfixes_branch Channel.cpp
               c/src/common Tag: Release-2003_10_26-bugfixes_branch
                        ArrayBean.cpp
               c/vc/server/apache1_3 Tag:
                        Release-2003_10_26-bugfixes_branch Apache1_3.dsp
  Log:
  Solution to following problem,
  1. In the client side the complex types passed to the Axis Engine to be serialized
  were deleted by the Axis Engine after it is serialized. Now they are not deleted
  and its the responsibility of the client application to delete them
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.2.2.1   +2 -1      ws-axis/c/include/axis/client/transport/axis/Channel.hpp
  
  Index: Channel.hpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/include/axis/client/transport/axis/Channel.hpp,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- Channel.hpp	23 Oct 2003 08:26:32 -0000	1.2
  +++ Channel.hpp	5 Jan 2004 04:42:45 -0000	1.2.2.1
  @@ -68,6 +68,7 @@
   #include <string>
   #include "Transport.hpp"
   
  +#define AXIS_TRANSPORT_BUF_SIZE 512
   // platform specific stuff
   
   #ifdef WIN32
  @@ -174,8 +175,8 @@
   	std::string		m_RemoteNode;		///< Remote address could be IP/host-name
   	unsigned short	m_RemoteEnd;		///< Remote port number
   	std::string		m_LastErr;			///< Last error as a string 
  -
   	Transport	* m_pTransportHandler;	///< Transport handler for validation purpose
  +	static char m_buf[AXIS_TRANSPORT_BUF_SIZE]; //Assuming this transport is used only by a single thread.
   };
   
   
  
  
  
  No                   revision
  No                   revision
  1.8.2.7   +1 -1      ws-axis/c/src/client/samples/interoptests/base/InteropTestPortType.cpp
  
  Index: InteropTestPortType.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/client/samples/interoptests/base/InteropTestPortType.cpp,v
  retrieving revision 1.8.2.6
  retrieving revision 1.8.2.7
  diff -u -r1.8.2.6 -r1.8.2.7
  --- InteropTestPortType.cpp	1 Jan 2004 12:32:23 -0000	1.8.2.6
  +++ InteropTestPortType.cpp	5 Jan 2004 04:42:45 -0000	1.8.2.7
  @@ -19,7 +19,7 @@
   	m_pCall = new Call();
   	m_pCall->SetProtocol(APTHTTP);
   	m_pCall->SetHeader("SOAPAction", "InteropBase");
  -	m_pCall->SetEndpointURI("http://localhost/axis/InteropBase");
  +	m_pCall->SetEndpointURI("http://192.168.101.4/axis/InteropBase");
   }
   
   InteropTestPortType::~InteropTestPortType()
  
  
  
  No                   revision
  No                   revision
  1.2.2.3   +7 -8      ws-axis/c/src/client/transport/axis/Channel.cpp
  
  Index: Channel.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/client/transport/axis/Channel.cpp,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- Channel.cpp	1 Jan 2004 12:15:16 -0000	1.2.2.2
  +++ Channel.cpp	5 Jan 2004 04:42:45 -0000	1.2.2.3
  @@ -68,6 +68,7 @@
   #include <axis/client/transport/axis/Transport.hpp>
   
   using namespace std;
  +char Channel::m_buf[AXIS_TRANSPORT_BUF_SIZE];
   /**
    * Create a Channel & initialize
    * 
  @@ -243,13 +244,11 @@
   
   	int nToRead;
   	int nByteRecv = 0;
  -	const int BUF_SIZE = 64;
  -	char buf[BUF_SIZE];
   	
   	// read socket until we reach to the body
   	do	// Manage multiple chuncks of the message
   	{
  -		if ((nByteRecv = recv(m_Sock, (char *) &buf, BUF_SIZE - 1, 0)) == SOCKET_ERROR)
  +		if ((nByteRecv = recv(m_Sock, (char *) &m_buf, AXIS_TRANSPORT_BUF_SIZE - 1, 0)) == SOCKET_ERROR)
   		{
   			Error("Channel error while getting data.");
   			CloseChannel();
  @@ -258,8 +257,8 @@
   		
   		if(nByteRecv)
   		{
  -			buf[nByteRecv] = '\0';	// got a part of the message, so add it to form 
  -			msg += buf;					// the whole message
  +			m_buf[nByteRecv] = '\0';	// got a part of the message, so add it to form 
  +			msg += m_buf;					// the whole message
   
   		}
   		else
  @@ -277,7 +276,7 @@
   
   	do	// Manage multiple chuncks of the message
   	{
  -		if ((nByteRecv = recv(m_Sock, (char *) &buf, BUF_SIZE - 1, 0)) == SOCKET_ERROR)
  +		if ((nByteRecv = recv(m_Sock, (char *) &m_buf, AXIS_TRANSPORT_BUF_SIZE - 1, 0)) == SOCKET_ERROR)
   		{
   			Error("Channel error while getting data.");
   			CloseChannel();
  @@ -287,8 +286,8 @@
   		if(nByteRecv)
   		{
   			nToRead -= nByteRecv;
  -			buf[nByteRecv] = '\0';	// got a part of the message, so add it to form 
  -			m_pTransportHandler->m_PayLoad += buf;					// the whole message
  +			m_buf[nByteRecv] = '\0';	// got a part of the message, so add it to form 
  +			m_pTransportHandler->m_PayLoad += m_buf;					// the whole message
   
   		}
   		else
  
  
  
  No                   revision
  No                   revision
  1.13.2.3  +4 -1      ws-axis/c/src/common/ArrayBean.cpp
  
  Index: ArrayBean.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/common/ArrayBean.cpp,v
  retrieving revision 1.13.2.2
  retrieving revision 1.13.2.3
  diff -u -r1.13.2.2 -r1.13.2.3
  --- ArrayBean.cpp	27 Nov 2003 08:49:36 -0000	1.13.2.2
  +++ ArrayBean.cpp	5 Jan 2004 04:42:46 -0000	1.13.2.3
  @@ -87,7 +87,10 @@
   			int blocksize = GetArrayBlockSize(it);
   			if (m_value.cta->pObject)
   			{
  -				m_value.cta->pDelFunct(m_value.cta->pObject, true, blocksize);
  +				if (AxisEngine::m_bServer)
  +				{
  +					m_value.cta->pDelFunct(m_value.cta->pObject, true, blocksize);
  +				}
   				/* make sure that the ComplexObjectHandler's destructor does not try to delete the objects again */
   				m_value.cta->pObject = NULL;
   			}
  
  
  
  No                   revision
  No                   revision
  1.13.2.6  +1 -1      ws-axis/c/vc/server/apache1_3/Apache1_3.dsp
  
  Index: Apache1_3.dsp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/vc/server/apache1_3/Apache1_3.dsp,v
  retrieving revision 1.13.2.5
  retrieving revision 1.13.2.6
  diff -u -r1.13.2.5 -r1.13.2.6
  --- Apache1_3.dsp	1 Jan 2004 12:15:16 -0000	1.13.2.5
  +++ Apache1_3.dsp	5 Jan 2004 04:42:46 -0000	1.13.2.6
  @@ -81,7 +81,7 @@
   # ADD BSC32 /nologo
   LINK32=link.exe
   # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
  -# ADD LINK32 Common_D.lib Soap_D.lib wsdd_D.lib Engine_D.lib xerces-c_2D.lib ApacheCore.lib Common_D.lib Soap_D.lib wsdd_D.lib Engine_D.lib xerces-c_2D.lib ApacheCore.lib /nologo /dll /debug /machine:I386 /out:"../../../release/win32/mod_axis.dll" /pdbtype:sept /libpath:"../../../lib/axis" /libpath:"../../../lib/xerces-c" /libpath:"../../../lib/apache1_3"
  +# ADD LINK32 Common_D.lib Soap_D.lib wsdd_D.lib Engine_D.lib xerces-c_2D.lib ApacheCore.lib Common_D.lib Soap_D.lib wsdd_D.lib Engine_D.lib xerces-c_2D.lib ApacheCore.lib /nologo /dll /debug /machine:I386 /out:"C:\Program Files\Apache Group\Apache\modules/mod_axis.dll" /pdbtype:sept /libpath:"../../../lib/axis" /libpath:"../../../lib/xerces-c" /libpath:"../../../lib/apache1_3"
   # SUBTRACT LINK32 /profile
   
   !ENDIF