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 2003/08/16 10:15:48 UTC
cvs commit: xml-axis/c/src/wsdd WSDDDocument.cpp
susantha 2003/08/16 01:15:47
Modified: c/src/common Debug.cpp GDefine.cpp GDefine.h Packet.h
c/src/engine Axis.cpp HandlerLoader.cpp Main.c
c/src/server/apache mod_axis.c
c/src/soap Attribute.cpp Attribute.h SoapEnvVersions.h
SoapEnvelope.cpp SoapEnvelope.h SoapSerializer.cpp
SoapSerializer.h
c/src/wsdd WSDDDocument.cpp
Log:
some improvements
Revision Changes Path
1.6 +1 -1 xml-axis/c/src/common/Debug.cpp
Index: Debug.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/common/Debug.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Debug.cpp 29 Jul 2003 12:09:08 -0000 1.5
+++ Debug.cpp 16 Aug 2003 08:15:47 -0000 1.6
@@ -10,7 +10,7 @@
Debug::Debug()
{
- sFileName = "/usr/local/axiscpp/axis/logs/Debug";
+ sFileName = "E:\\Program Files\\Apache Group\\Apache\\Axis\\logs\\Debug.txt";
if(!sFileName.empty())
{
FileName = sFileName.c_str();
1.2 +8 -0 xml-axis/c/src/common/GDefine.cpp
Index: GDefine.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/common/GDefine.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- GDefine.cpp 15 Aug 2003 04:31:25 -0000 1.1
+++ GDefine.cpp 16 Aug 2003 08:15:47 -0000 1.2
@@ -6,6 +6,9 @@
#include <unistd.h>
#endif
+#include "../soap/Attribute.h"
+#include "../soap/SoapEnvVersions.h"
+
void Ax_Sleep(int nTime)
{
#ifdef WIN32
@@ -13,4 +16,9 @@
#else
sleep(0);
#endif
+}
+
+void ModuleInitialize()
+{
+
}
1.4 +1 -0 xml-axis/c/src/common/GDefine.h
Index: GDefine.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/common/GDefine.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- GDefine.h 15 Aug 2003 04:31:25 -0000 1.3
+++ GDefine.h 16 Aug 2003 08:15:47 -0000 1.4
@@ -73,5 +73,6 @@
#define SOAPACTIONHEADER "SOAPAction"
extern void Ax_Sleep(int);
+extern void ModuleInitialize();
#endif //__GDEFINE_INCLUDED__
1.6 +1 -1 xml-axis/c/src/common/Packet.h
Index: Packet.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/common/Packet.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Packet.h 14 Aug 2003 05:10:04 -0000 1.5
+++ Packet.h 16 Aug 2003 08:15:47 -0000 1.6
@@ -82,7 +82,7 @@
//This function should be implemented by module authors
//Allows to send pieces of soap response the transport handler
- int send_response_bytes(char* res, void* opstream);
+ int send_response_bytes(const char* res, void* opstream);
//This function should be implemented by module authors
//Allows axis to get pieces of the request as they come to the transport listener
1.8 +4 -0 xml-axis/c/src/engine/Axis.cpp
Index: Axis.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/engine/Axis.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Axis.cpp 14 Aug 2003 14:03:14 -0000 1.7
+++ Axis.cpp 16 Aug 2003 08:15:47 -0000 1.8
@@ -126,6 +126,7 @@
send_response_bytes("</tr>", str->str.op_stream);
}
send_response_bytes("</table></body></html>", str->str.op_stream);
+ Status = SUCCESS;
}
else
{
@@ -134,6 +135,7 @@
if((WsddFile = fopen(sServiceName.c_str(),"r"))==NULL)
{
send_response_bytes("<h3>Url not available</h3>", str->str.op_stream);
+ Status = SUCCESS;
//handle the error
}
else
@@ -160,10 +162,12 @@
extern "C" int initialize_module()
{
+ DEBUG1("inside initialize_module\n");
TypeMapping::Initialize();
URIMapping::Initialize();
SoapFault::initialize();
XMLPlatformUtils::Initialize();
+ ModuleInitialize();
string ConfFile = WSDDFILEPATH;
if (SUCCESS != g_WSDDDeployment.LoadWSDD(ConfFile)) return FAIL;
return SUCCESS;
1.5 +1 -0 xml-axis/c/src/engine/HandlerLoader.cpp
Index: HandlerLoader.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/engine/HandlerLoader.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- HandlerLoader.cpp 13 Aug 2003 14:07:47 -0000 1.4
+++ HandlerLoader.cpp 16 Aug 2003 08:15:47 -0000 1.5
@@ -129,6 +129,7 @@
int HandlerLoader::CreateHandler(BasicHandler** pHandler, int nLibId)
{
+ DEBUG1("inside CreateHandler\n");
lock();
*pHandler = NULL;
HandlerInformation* pHandlerInfo = NULL;
1.8 +7 -7 xml-axis/c/src/engine/Main.c
Index: Main.c
===================================================================
RCS file: /home/cvs/xml-axis/c/src/engine/Main.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Main.c 14 Aug 2003 14:03:14 -0000 1.7
+++ Main.c 16 Aug 2003 08:15:47 -0000 1.8
@@ -197,20 +197,20 @@
printf("soap request :\n %s\n", ip);
initialize_module();
- for (xx =0; xx < 100 ; xx++)
+ for (xx =0; xx < 1000 ; xx++)
process_request(str);
return 0;
}
-int send_response_bytes(char * res, void* pOutputStream) {
-
+int send_response_bytes(const char * res, void* pOutputStream)
+{
// printf("sending SOAP response : \n%s\n", res);
return 0;
}
-int get_request_bytes(char * req, int reqsize, int* retsize) {
-
+int get_request_bytes(char * req, int reqsize, int* retsize)
+{
req[0]= '\0';
strcat(req, ip);
// printf("strlen(ip)%d", strlen(ip));
@@ -218,7 +218,7 @@
return 0;
}
-int send_transport_information(Ax_soapstream* sSoapstream) {
-
+int send_transport_information(Ax_soapstream* sSoapstream)
+{
return 0;
}
1.5 +1 -1 xml-axis/c/src/server/apache/mod_axis.c
Index: mod_axis.c
===================================================================
RCS file: /home/cvs/xml-axis/c/src/server/apache/mod_axis.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- mod_axis.c 13 Aug 2003 14:07:56 -0000 1.4
+++ mod_axis.c 16 Aug 2003 08:15:47 -0000 1.5
@@ -39,7 +39,7 @@
initialize_module();
}
-int send_response_bytes(char* res, void* opstream)
+int send_response_bytes(const char* res, void* opstream)
{
ap_rputs(res, (request_rec*)opstream);
return 0;
1.5 +2 -2 xml-axis/c/src/soap/Attribute.cpp
Index: Attribute.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/Attribute.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Attribute.cpp 21 Jul 2003 14:21:09 -0000 1.4
+++ Attribute.cpp 16 Aug 2003 08:15:47 -0000 1.5
@@ -114,7 +114,7 @@
/*
*
*/
-int Attribute::serialize(SoapSerializer& pSZ)
+int Attribute::serialize(SoapSerializer& pSZ) const
{
int intStatus= FAIL;
@@ -156,7 +156,7 @@
}
*/
-bool Attribute::isSerializable()
+bool Attribute::isSerializable() const
{
bool bStatus= true;
1.5 +2 -2 xml-axis/c/src/soap/Attribute.h
Index: Attribute.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/Attribute.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Attribute.h 21 Jul 2003 14:21:09 -0000 1.4
+++ Attribute.h 16 Aug 2003 08:15:47 -0000 1.5
@@ -80,14 +80,14 @@
class Attribute
{
private:
- bool isSerializable();
+ bool isSerializable() const;
string m_localname;
string m_prefix;
string m_uri;
string m_value;
//string m_strAttrSerialized;
public:
- int serialize(SoapSerializer& pSZ);
+ int serialize(SoapSerializer& pSZ) const;
//int serialize(string&);
Attribute();
Attribute(const string &localname, const string &prefix, const string &uri, const string &value);
1.3 +15 -3 xml-axis/c/src/soap/SoapEnvVersions.h
Index: SoapEnvVersions.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/SoapEnvVersions.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SoapEnvVersions.h 27 Jun 2003 04:23:15 -0000 1.2
+++ SoapEnvVersions.h 16 Aug 2003 08:15:47 -0000 1.3
@@ -68,6 +68,8 @@
#ifndef __SOAPENVVERSIONS_H_INCLUDED___
#define __SOAPENVVERSIONS_H_INCLUDED___
+#include "Attribute.h"
+
/*
*Here SKW stands for SoapKeyWord. This is a internal naming convension
* for Axis C++.
@@ -100,6 +102,9 @@
char* pchEnvelopeNamespaceUri;
char* pchEnvelopePrefix;
char* pcharWords[SOAP_WORDS_LAST];
+ const Attribute* pEnv;
+ const Attribute* pXsi;
+ const Attribute* pXsd;
};
static SoapEnvVersionsStruct g_sObjSoapEnvVersionsStruct[VERSION_LAST]=
@@ -121,7 +126,11 @@
/*SKW_FAULT_ACTOR*/ "faultactor",
/*SKW_DETAIL*/ "detail",
/*SKW_MULTIREF*/ "multiRef"
- }
+ },
+ //attributes for soap 1.1 envelope
+ new Attribute("SOAP-ENV","xmlns","","http://schemas.xmlsoap.org/soap/envelope/"),
+ new Attribute("xsi","xmlns","","http://www.w3.org/2001/XMLSchema-instance"),
+ new Attribute("xsd","xmlns","","http://www.w3.org/2001/XMLSchema"),
},
//SOAP_VER_1_2
@@ -141,8 +150,11 @@
/*SKW_FAULT_ACTOR*/ "Role",
/*SKW_DETAIL*/ "Detail",
/*SKW_MULTIREF*/ "multiRef"
- }
+ },
+ //attributes for soap 1.2 envelope
+ new Attribute("env","xmlns","","http://www.w3.org/2003/05/soap-envelope"),
+ new Attribute("xsi","xmlns","","http://www.w3.org/2001/XMLSchema-instance"),
+ new Attribute("xsd","xmlns","","http://www.w3.org/2001/XMLSchema"),
}
};
-
#endif //__SOAPENVVERSIONS_H_INCLUDED___
1.4 +20 -11 xml-axis/c/src/soap/SoapEnvelope.cpp
Index: SoapEnvelope.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/SoapEnvelope.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SoapEnvelope.cpp 15 Jul 2003 07:05:06 -0000 1.3
+++ SoapEnvelope.cpp 16 Aug 2003 08:15:47 -0000 1.4
@@ -126,26 +126,19 @@
int SoapEnvelope::serialize(SoapSerializer& pSZ, SOAP_VERSION eSoapVersion)
{
-
int iStatus= SUCCESS;
-
- do {
-
- pSZ << "<" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pchEnvelopePrefix << ":" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pcharWords[SKW_ENVELOPE];
-
-
+ do {
+ pSZ << "<" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pchEnvelopePrefix << ":" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pcharWords[SKW_ENVELOPE];
+ serializeStandardNamespaceDecl(pSZ);
serializeNamespaceDecl(pSZ);
serializeAttributes(pSZ);
-
pSZ << ">";
-
if(m_pSoapHeader!=NULL) {
iStatus= m_pSoapHeader->serialize(pSZ, eSoapVersion);
if(iStatus == FAIL) {
break;
}
}
-
if(m_pSoapBody!=NULL) {
iStatus= m_pSoapBody->serialize(pSZ, eSoapVersion);
if(iStatus == FAIL) {
@@ -157,7 +150,6 @@
}
pSZ << "</" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pchEnvelopePrefix << ":" << g_sObjSoapEnvVersionsStruct[eSoapVersion].pcharWords[SKW_ENVELOPE] << ">";
-
pSZ.flushSerializedBuffer();
} while(0);
@@ -293,5 +285,22 @@
{
m_sPrefix= prefix;
+ return SUCCESS;
+}
+
+int SoapEnvelope::addStandardNamespaceDecl(const Attribute *pAttribute)
+{
+ m_StandardNamespaceDecls.push_back(pAttribute);
+ return SUCCESS;
+}
+
+int SoapEnvelope::serializeStandardNamespaceDecl(SoapSerializer &pSZ)
+{
+ list<const Attribute*>::iterator itCurrNamespaceDecl= m_StandardNamespaceDecls.begin();
+ while(itCurrNamespaceDecl != m_StandardNamespaceDecls.end())
+ {
+ (*itCurrNamespaceDecl)->serialize(pSZ);
+ itCurrNamespaceDecl++;
+ }
return SUCCESS;
}
1.4 +3 -0 xml-axis/c/src/soap/SoapEnvelope.h
Index: SoapEnvelope.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/SoapEnvelope.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SoapEnvelope.h 15 Jul 2003 07:05:06 -0000 1.3
+++ SoapEnvelope.h 16 Aug 2003 08:15:47 -0000 1.4
@@ -81,6 +81,8 @@
friend class SoapSerializer;
private:
+ int serializeStandardNamespaceDecl(SoapSerializer& pSZ);
+ int addStandardNamespaceDecl(const Attribute* pAttribute);
int serializeNamespaceDecl(SoapSerializer& pSZ);
//int serializeNamespaceDecl(string&);
int serializeAttributes(SoapSerializer& pSZ);
@@ -90,6 +92,7 @@
//string m_strEnvelopSerialized;
list<Attribute*> m_attributes;
list<Attribute*> m_namespaceDecls;
+ list<const Attribute*> m_StandardNamespaceDecls;
string m_sPrefix;
public:
1.13 +9 -10 xml-axis/c/src/soap/SoapSerializer.cpp
Index: SoapSerializer.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/SoapSerializer.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SoapSerializer.cpp 13 Aug 2003 14:11:10 -0000 1.12
+++ SoapSerializer.cpp 16 Aug 2003 08:15:47 -0000 1.13
@@ -221,6 +221,7 @@
int SoapSerializer::setSoapVersion(SOAP_VERSION nSoapVersion)
{
//here the default namespaces of the SoapEnvelop should be added and intialized as well.
+/*
Attribute* pNS = new Attribute(g_sObjSoapEnvVersionsStruct[nSoapVersion].pchEnvelopePrefix,
"xmlns","",g_sObjSoapEnvVersionsStruct[nSoapVersion].pchEnvelopeNamespaceUri);
m_pSoapEnvelope->addNamespaceDecl(pNS);
@@ -229,7 +230,10 @@
m_pSoapEnvelope->addNamespaceDecl(pNS);
pNS = new Attribute("xsi","xmlns","","http://www.w3.org/2001/XMLSchema-instance");
m_pSoapEnvelope->addNamespaceDecl(pNS);
-
+*/
+ m_pSoapEnvelope->addStandardNamespaceDecl(g_sObjSoapEnvVersionsStruct[nSoapVersion].pEnv);
+ m_pSoapEnvelope->addStandardNamespaceDecl(g_sObjSoapEnvVersionsStruct[nSoapVersion].pXsd);
+ m_pSoapEnvelope->addStandardNamespaceDecl(g_sObjSoapEnvVersionsStruct[nSoapVersion].pXsi);
return SUCCESS;
}
@@ -242,15 +246,13 @@
IWrapperSoapSerializer& SoapSerializer::operator <<(const char *cSerialized)
{
- int iTmpSerBufferSize= strlen(cSerialized);
- if((m_iCurrentSerBufferSize+iTmpSerBufferSize)>1023) {
+ int iTmpSerBufferSize = strlen(cSerialized);
+ if((m_iCurrentSerBufferSize + iTmpSerBufferSize)>= SERIALIZE_BUFFER_SIZE)
+ {
flushSerializedBuffer();
}
strcat(m_cSerializedBuffer, cSerialized);
- //cout<<m_cSerializedBuffer<<"END@@";
-
- m_iCurrentSerBufferSize+= iTmpSerBufferSize;
-
+ m_iCurrentSerBufferSize += iTmpSerBufferSize;
return *this;
//call the ruputs to send this soap response
//ruputs(m_cSerializedBuffer);
@@ -258,13 +260,10 @@
int SoapSerializer::flushSerializedBuffer()
{
- //cout<<"++++++++++++++++"<<"flushed"<<endl;
- //cout<<"++++++++++++++++"<<m_cSerializedBuffer<<endl;
//sendSoapResponse(m_cSerializedBuffer);
send_response_bytes(m_cSerializedBuffer, m_pOutputStream);
m_cSerializedBuffer[0]= '\0';
m_iCurrentSerBufferSize=0;
-
return SUCCESS;
}
1.11 +3 -1 xml-axis/c/src/soap/SoapSerializer.h
Index: SoapSerializer.h
===================================================================
RCS file: /home/cvs/xml-axis/c/src/soap/SoapSerializer.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SoapSerializer.h 13 Aug 2003 14:11:10 -0000 1.10
+++ SoapSerializer.h 16 Aug 2003 08:15:47 -0000 1.11
@@ -77,6 +77,8 @@
#include "../common/BasicTypeSerializer.h"
#include "SoapEnvVersions.h"
+#define SERIALIZE_BUFFER_SIZE 1024
+
class SoapEnvelope;
class SoapHeader;
class SoapMethod;
@@ -91,7 +93,7 @@
char cCounter[64];
SoapEnvelope* m_pSoapEnvelope;
int m_iSoapVersion;
- char m_cSerializedBuffer[1024];
+ char m_cSerializedBuffer[SERIALIZE_BUFFER_SIZE];
int m_iCurrentSerBufferSize;
public:
ISoapMethod* createSoapMethod();
1.6 +1 -0 xml-axis/c/src/wsdd/WSDDDocument.cpp
Index: WSDDDocument.cpp
===================================================================
RCS file: /home/cvs/xml-axis/c/src/wsdd/WSDDDocument.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WSDDDocument.cpp 13 Aug 2003 13:31:42 -0000 1.5
+++ WSDDDocument.cpp 16 Aug 2003 08:15:47 -0000 1.6
@@ -96,6 +96,7 @@
int WSDDDocument::ParseDocument(const string& sWSDD)
{
+ DEBUG1("inside ParseDocument\n");
try
{
SAX2XMLReader * parser = XMLReaderFactory::createXMLReader();