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 li...@apache.org on 2003/08/19 04:10:43 UTC

cvs commit: xml-axis/c/src/server/catalina AxisCppServlet.java libAxiscpp.cpp libAxiscpp.dsp

lilantha    2003/08/18 19:10:43

  Modified:    c/src/server/catalina AxisCppServlet.java libAxiscpp.cpp
                        libAxiscpp.dsp
  Log:
  made changes to support new interface for the web server
  
  Revision  Changes    Path
  1.4       +2 -2      xml-axis/c/src/server/catalina/AxisCppServlet.java
  
  Index: AxisCppServlet.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/catalina/AxisCppServlet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AxisCppServlet.java	5 Aug 2003 13:36:03 -0000	1.3
  +++ AxisCppServlet.java	19 Aug 2003 02:10:43 -0000	1.4
  @@ -77,12 +77,12 @@
           throws IOException, ServletException
       {
   		int bodySize = request.getContentLength();
  -		OutputStream bodyWriter = response.getOutputStream();
   		response.setContentType("text/xml"); //change this according to the SOAP 1.2
   			
   		if(0 != bodySize)
   		{
  -			InputStream bodyReader = request.getInputStream();
  +			OutputStream bodyWriter = response.getOutputStream();
  +			InputStream bodyReader  = request.getInputStream();
   			int contentLength = request.getContentLength();
   			//String contentType = request.getContentType();
   			int headerCount = 0;
  
  
  
  1.6       +41 -36    xml-axis/c/src/server/catalina/libAxiscpp.cpp
  
  Index: libAxiscpp.cpp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/catalina/libAxiscpp.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- libAxiscpp.cpp	5 Aug 2003 13:36:03 -0000	1.5
  +++ libAxiscpp.cpp	19 Aug 2003 02:10:43 -0000	1.6
  @@ -63,7 +63,8 @@
    */
   
   #include "libAxiscpp.h"
  -#include "../../common/Packet.h"
  +#include "Packet.h"
  +#include "Axis.h"
   #include <new>
   #include <exception>
   
  @@ -91,52 +92,56 @@
   {
   	//TODO: populate soapstream with the headers & the body;
   	// invoke to process the contents
  -	HTTP_PACKET* pHttpPkt = new HTTP_PACKET;
  -	pHttpPkt->pchContent = new char[p_jnContentLength+1];
  +	axstream* paxstream = new axstream;
   	
  -	JNIInputStream inputBody(p_Env,p_jBodyReader);
  +	JNIInputStream  inputBody(p_Env,p_jBodyReader);
   	JNIOutputStream outputBody(p_Env,p_jBodyWriter);
  -	std::istream in(&inputBody);
  -    std::ostream out(&outputBody);
  +	paxstream->m_pInputContent  = new std::istream(&inputBody);
  +    paxstream->m_pOutputContent = new std::ostream(&outputBody);
   
  -	in.read(pHttpPkt->pchContent, p_jnContentLength);
  -	pHttpPkt->pchContent[p_jnContentLength] = '\0';
  -	Trace(pHttpPkt->pchContent);
  -	
  -	pHttpPkt->nContentLen = p_jnContentLength;
  +	paxstream->m_nContentLen = p_jnContentLength;
   	
   	JNIVector jvHeader(p_Env, p_jvHeaders);
   	//set method name as a http header.
  -	const int p_nHeaderCount = jvHeader.size()/2;
  -	pHttpPkt->pHeaders    = new HTTP_HEADER[p_nHeaderCount];
  +	int nHeaderCount = jvHeader.size()/2;
  +	paxstream->m_pHeaders    = new axstream::PROT_HEADER[nHeaderCount];
  +
  +	for(int i=0;i < nHeaderCount; i++)
  +	{
  +		paxstream->m_pHeaders[i].pchName  = jvHeader[i*2];
  +		paxstream->m_pHeaders[i].pchValue = jvHeader[i*2+1];
  +		Trace(paxstream->m_pHeaders[i].pchName );
  +		Trace(paxstream->m_pHeaders[i].pchValue);
  +	}
  +	paxstream->m_nHeaderCount = nHeaderCount;
  +
  +	paxstream->m_enProtocolType = axstream::HTTP;
  +	paxstream->m_pExtendedInfo = new axstream::EXTENDED_INFO;
  +	paxstream->m_pExtendedInfo->infHttp.enMethod = axstream::HTTP_INFO::POST;
  +
  +	//just add some sessionid
  +	paxstream->m_pchSessionId = strdup("tmp session id");
   
  -	for(int i=0;i < p_nHeaderCount; i++)
  +	AxisContentHandler::Init();
  +	if(0 != AxisContentHandler::HandleContent(*paxstream))
   	{
  -		pHttpPkt->pHeaders[i].name  = jvHeader[i*2];
  -		pHttpPkt->pHeaders[i].value = jvHeader[i*2+1];
  -		Trace(pHttpPkt->pHeaders[i].name );
  -		Trace(pHttpPkt->pHeaders[i].value);
  +		throw "SOAP Engine failed to response";
   	}
  -	pHttpPkt->nHeaderCount = p_nHeaderCount;
  -	pHttpPkt->enMethod = POST;
   
   	jvHeader.clear();
  -	jvHeader.push_back("Name_p1"); // Name_p1
  -	jvHeader.push_back("Value_p1");
  -	jvHeader.push_back("Name_p2");
  -	jvHeader.push_back("Value_p2");
  -
  -	delete [] pHttpPkt->pchContent;
  -	const char *p = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n";
  -	p_jnContentLength = strlen(p);
  -	pHttpPkt->pchContent = new char[1+p_jnContentLength];
  -	strcpy(pHttpPkt->pchContent, p);
  -
  -	out << pHttpPkt->pchContent << std::flush;
  -
  -	delete [] pHttpPkt->pHeaders;
  -	delete [] pHttpPkt->pchContent;
  -	delete pHttpPkt;
  +	nHeaderCount = paxstream->m_nHeaderCount;
  +
  +	for(int j=0;j < nHeaderCount; j++)
  +	{
  +		jvHeader.push_back(paxstream->m_pHeaders[j].pchName);
  +		jvHeader.push_back(paxstream->m_pHeaders[j].pchValue);
  +		Trace(paxstream->m_pHeaders[j].pchName );
  +		Trace(paxstream->m_pHeaders[j].pchValue);
  +	}
  +
  +	*paxstream->m_pOutputContent << std::flush;
  +
  +	delete paxstream;
   }
   
   
  
  
  
  1.5       +29 -5     xml-axis/c/src/server/catalina/libAxiscpp.dsp
  
  Index: libAxiscpp.dsp
  ===================================================================
  RCS file: /home/cvs/xml-axis/c/src/server/catalina/libAxiscpp.dsp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- libAxiscpp.dsp	28 Jul 2003 11:23:57 -0000	1.4
  +++ libAxiscpp.dsp	19 Aug 2003 02:10:43 -0000	1.5
  @@ -38,11 +38,12 @@
   # PROP BASE Target_Dir ""
   # PROP Use_MFC 0
   # PROP Use_Debug_Libraries 0
  -# PROP Output_Dir "Release"
  +# PROP Output_Dir ".\axiscpp\WEB-INF\classes"
   # PROP Intermediate_Dir "Release"
  +# PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /c
  -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /c
  +# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../common" /I "../../engine" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /c
   # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
   # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x409 /d "NDEBUG"
  @@ -52,7 +53,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 /machine:I386
  -# ADD 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 /machine:I386
  +# ADD LINK32 Engine.lib Common.lib Soap.lib wsdd.lib xerces-c_2.lib /nologo /dll /machine:I386 /libpath:"../../../lib/win32/axis" /libpath:"../../../lib/win32/xercesc"
   
   !ELSEIF  "$(CFG)" == "libAxiscpp - Win32 Debug"
   
  @@ -65,9 +66,10 @@
   # PROP Use_Debug_Libraries 1
   # PROP Output_Dir ".\axiscpp\WEB-INF\classes"
   # PROP Intermediate_Dir "Debug"
  +# PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
   # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /GZ /c
  -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /GZ /c
  +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../common" /I "../../engine" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBAXISCPP_EXPORTS" /YX /FD /GZ /c
   # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
   # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
   # ADD BASE RSC /l 0x409 /d "_DEBUG"
  @@ -77,7 +79,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 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 Engine_D.lib Common_D.lib Soap_D.lib wsdd_D.lib xerces-c_2D.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"../../../lib/win32/axis" /libpath:"../../../lib/win32/xercesc"
   
   !ENDIF 
   
  @@ -114,6 +116,17 @@
   
   !IF  "$(CFG)" == "libAxiscpp - Win32 Release"
   
  +# Begin Custom Build
  +ProjDir=.
  +InputPath=.\AxisCppContentHandler.java
  +InputName=AxisCppContentHandler
  +
  +"$(ProjDir)/$(InputName).class" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  +	echo javac -d axiscpp\WEB-INF\classes $(InputPath) 
  +	javac -d axiscpp\WEB-INF\classes $(InputPath) 
  +	
  +# End Custom Build
  +
   !ELSEIF  "$(CFG)" == "libAxiscpp - Win32 Debug"
   
   # Begin Custom Build
  @@ -135,6 +148,17 @@
   SOURCE=.\AxisCppServlet.java
   
   !IF  "$(CFG)" == "libAxiscpp - Win32 Release"
  +
  +# Begin Custom Build
  +ProjDir=.
  +InputPath=.\AxisCppServlet.java
  +InputName=AxisCppServlet
  +
  +"$(ProjDir)/$(InputName).class" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  +	echo javac -d axiscpp\WEB-INF\classes $(InputPath) 
  +	javac -d axiscpp\WEB-INF\classes $(InputPath) 
  +	
  +# End Custom Build
   
   !ELSEIF  "$(CFG)" == "libAxiscpp - Win32 Debug"