Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 71007 invoked from network); 5 Jan 2004 04:42:50 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 5 Jan 2004 04:42:50 -0000 Received: (qmail 2913 invoked by uid 500); 5 Jan 2004 04:42:27 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 2888 invoked by uid 500); 5 Jan 2004 04:42:27 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 2875 invoked from network); 5 Jan 2004 04:42:27 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 5 Jan 2004 04:42:27 -0000 Received: (qmail 70981 invoked by uid 1682); 5 Jan 2004 04:42:46 -0000 Date: 5 Jan 2004 04:42:46 -0000 Message-ID: <20040105044246.70980.qmail@minotaur.apache.org> From: susantha@apache.org To: ws-axis-cvs@apache.org Subject: cvs commit: ws-axis/c/vc/server/apache1_3 Apache1_3.dsp X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N 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 #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 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