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"