Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 30110 invoked from network); 13 Jun 2004 12:47:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 13 Jun 2004 12:47:45 -0000 Received: (qmail 82444 invoked by uid 500); 13 Jun 2004 12:47:40 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 82400 invoked by uid 500); 13 Jun 2004 12:47:39 -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 82385 invoked by uid 99); 13 Jun 2004 12:47:39 -0000 Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.27.1) with SMTP; Sun, 13 Jun 2004 05:47:39 -0700 Received: (qmail 30090 invoked by uid 1683); 13 Jun 2004 12:47:38 -0000 Date: 13 Jun 2004 12:47:38 -0000 Message-ID: <20040613124738.30089.qmail@minotaur.apache.org> From: damitha@apache.org To: ws-axis-cvs@apache.org Subject: cvs commit: ws-axis/c/src/xml/expat XMLParserExpat.cpp XMLParserExpat.h X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N damitha 2004/06/13 05:47:38 Modified: c/include/axis/server SoapDeSerializer.h SoapSerializer.h c/src/engine/client Call.cpp c/src/soap SoapDeSerializer.cpp SoapFault.cpp SoapSerializer.cpp c/src/xml/expat XMLParserExpat.cpp XMLParserExpat.h Log: Revision Changes Path 1.21 +1 -1 ws-axis/c/include/axis/server/SoapDeSerializer.h Index: SoapDeSerializer.h =================================================================== RCS file: /home/cvs/ws-axis/c/include/axis/server/SoapDeSerializer.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- SoapDeSerializer.h 11 Jun 2004 08:52:46 -0000 1.20 +++ SoapDeSerializer.h 13 Jun 2004 12:47:37 -0000 1.21 @@ -24,7 +24,7 @@ #include "XMLParser.h" #include "AnyElement.h" #include -#include +#include class SoapFault; class SoapMethod; 1.20 +1 -0 ws-axis/c/include/axis/server/SoapSerializer.h Index: SoapSerializer.h =================================================================== RCS file: /home/cvs/ws-axis/c/include/axis/server/SoapSerializer.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- SoapSerializer.h 11 Jun 2004 07:30:13 -0000 1.19 +++ SoapSerializer.h 13 Jun 2004 12:47:37 -0000 1.20 @@ -23,6 +23,7 @@ #include "Packet.h" #include "WSDDDefines.h" #include "SoapEnvVersions.h" +#include class SoapEnvelope; class SoapHeader; 1.46 +30 -6 ws-axis/c/src/engine/client/Call.cpp Index: Call.cpp =================================================================== RCS file: /home/cvs/ws-axis/c/src/engine/client/Call.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- Call.cpp 11 Jun 2004 07:30:14 -0000 1.45 +++ Call.cpp 13 Jun 2004 12:47:37 -0000 1.46 @@ -100,8 +100,20 @@ int Call::invoke () { - m_nStatus = m_pAxisEngine->process(m_pTransport); - return m_nStatus; + try + { + m_nStatus = m_pAxisEngine->process(m_pTransport); + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + + return m_nStatus; } int Call::initialize (PROVIDERTYPE nStyle, int secure) @@ -167,17 +179,17 @@ m_nStatus = AXIS_FAIL; return AXIS_FAIL; } - catch (ChannelException e) + catch (AxisException& e) { /* printf(e.GetErr().c_str()); */ - m_nStatus = AXIS_FAIL; - return AXIS_FAIL; + m_nStatus = AXIS_FAIL; + throw; } catch (...) { /* printf("Unknown exception occured in the client"); */ m_nStatus = AXIS_FAIL; - return AXIS_FAIL; + throw; } } @@ -223,6 +235,8 @@ */ int Call::openConnection(int secure) { + try + { m_pTransport = SOAPTransportFactory::getTransportObject(m_nTransportType); if (!m_pTransport) return AXIS_FAIL; m_pTransport->setEndpointUri(m_pcEndPointUri); @@ -231,6 +245,16 @@ if( m_bUseProxy ) m_pTransport->setProxy(m_strProxyHost.c_str(), m_uiProxyPort); m_nStatus = m_pTransport->openConnection(); + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return m_nStatus; } 1.58 +415 -2 ws-axis/c/src/soap/SoapDeSerializer.cpp Index: SoapDeSerializer.cpp =================================================================== RCS file: /home/cvs/ws-axis/c/src/soap/SoapDeSerializer.cpp,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- SoapDeSerializer.cpp 10 Jun 2004 10:07:53 -0000 1.57 +++ SoapDeSerializer.cpp 13 Jun 2004 12:47:37 -0000 1.58 @@ -83,6 +83,8 @@ SoapEnvelope* SoapDeSerializer::getEnvelope() { Attribute *pAttr = NULL; + try + { if (!m_pNode) m_pNode = m_pParser->next(); if (!m_pNode || (START_ELEMENT != m_pNode->m_type)) return NULL; if (0 == strcmp(m_pNode->m_pchNameOrValue, @@ -123,6 +125,16 @@ * and used */ return m_pEnvl; } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return NULL; } @@ -143,6 +155,8 @@ int SoapDeSerializer::getHeader() { + try + { if (m_pHeader) return m_nStatus; m_pNode = m_pParser->next(); if (!m_pNode) /* this means a SOAP error */ @@ -265,12 +279,24 @@ } } } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return m_nStatus; } int SoapDeSerializer::getBody() -{ +{ + try + { if (!m_pNode) m_pNode = m_pParser->next(); /* previous header searching may have left a node unidentified */ if (m_pNode) @@ -286,12 +312,27 @@ } } m_nStatus = AXIS_FAIL; + } + catch(AxisSoapException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } return AXIS_FAIL; } int SoapDeSerializer::checkMessageBody(const AxisChar* pName, const AxisChar* pNamespace) { + try + { /* check and skip the soap body tag */ if (AXIS_SUCCESS != getBody()) return AXIS_FAIL; if (!m_pNode) m_pNode = m_pParser->next(); @@ -300,10 +341,23 @@ if (0 != strcmp(m_pNode->m_pchNameOrValue, pName)) { AXISTRACE1("AXISC_NODE_VALUE_MISMATCH_EXCEPTION", CRITICAL); - THROW_AXIS_EXCEPTION(AXISC_NODE_VALUE_MISMATCH_EXCEPTION); + throw AxisException(AXISC_NODE_VALUE_MISMATCH_EXCEPTION); } /* we can check the namespace uri too here. Should we ?*/ m_pNode = NULL; /*This is to indicate that node is identified and used */ + } + catch(AxisSoapException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } return AXIS_SUCCESS; } @@ -312,6 +366,8 @@ { //if (!m_pNode) m_pNode = m_pParser->next(); //if (!m_pNode || (START_ELEMENT != m_pNode->m_type)) return AXIS_FAIL; + try + { if(0 == strcmp("Fault", pName)) { if (0 != strcmp(m_pNode->m_pchNameOrValue, pName)) @@ -334,6 +390,15 @@ return AXIS_SUCCESS; } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } } @@ -409,6 +474,8 @@ void* pItem; int itemsize; unsigned long ptrval; + try + { if (AXIS_SUCCESS != m_nStatus) return Array; /* if anything has gone wrong * earlier just do nothing */ if (RPC_ENCODED == m_nStyle) @@ -565,6 +632,15 @@ } m_nStatus = AXIS_FAIL; m_pNode = NULL; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } return Array; } @@ -729,6 +805,8 @@ { Axis_Array Array = {NULL, 0}; int nIndex = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return Array; /* if anything has gone wrong earlier just do nothing */ if (RPC_ENCODED == m_nStyle) @@ -924,7 +1002,17 @@ } m_nStatus = AXIS_FAIL; m_pNode = NULL; + return Array; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } } /* @@ -946,6 +1034,8 @@ void* pDelFunct, const AxisChar* pName, const AxisChar* pNamespace) { + try + { if (AXIS_SUCCESS != m_nStatus) return NULL; /* if anything has gone wrong earlier just do nothing */ if (RPC_ENCODED == m_nStyle) @@ -1045,12 +1135,24 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return NULL; } int SoapDeSerializer::getElementForAttributes(const AxisChar* pName, const AxisChar* pNamespace) { + try + { if (m_pCurrNode) { if (0 == strcmp(pName, m_pCurrNode->m_pchNameOrValue)) @@ -1074,6 +1176,16 @@ m_nStatus = AXIS_FAIL; m_pCurrNode = NULL; } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return m_nStatus; } @@ -1112,6 +1224,8 @@ const AxisChar* pNamespace) { int ret = 0; + try + { if(!m_pCurrNode) { /* Optional attributes : _ m_nStatus = AXIS_FAIL; */ @@ -1134,6 +1248,16 @@ { m_nStatus = AXIS_FAIL; } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1141,6 +1265,8 @@ const AxisChar* pNamespace) { xsd__boolean ret = false_; + try + { if(!m_pCurrNode) { /* Optional attributes : _ m_nStatus = AXIS_FAIL; */ @@ -1163,6 +1289,16 @@ { m_nStatus = AXIS_FAIL; } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1286,6 +1422,8 @@ const AxisChar* pNamespace) { xsd__boolean ret = false_; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1350,6 +1488,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1357,6 +1505,8 @@ const AxisChar* pNamespace) { int ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1427,6 +1577,16 @@ } } m_nStatus = ret; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1436,6 +1596,8 @@ pNamespace) { unsigned int ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1496,6 +1658,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1503,6 +1675,8 @@ const AxisChar* pNamespace) { short ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1565,6 +1739,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1573,6 +1757,8 @@ AxisChar* pNamespace) { unsigned short ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1633,6 +1819,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1640,6 +1836,8 @@ const AxisChar* pNamespace) { char ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1700,6 +1898,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1707,6 +1915,8 @@ const AxisChar* pNamespace) { unsigned char ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1767,6 +1977,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1774,6 +1994,8 @@ const AxisChar* pNamespace) { long ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1834,6 +2056,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1841,6 +2073,8 @@ const AxisChar* pNamespace) { long ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1901,6 +2135,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1909,6 +2153,8 @@ pNamespace) { unsigned long ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -1969,6 +2215,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -1976,6 +2232,8 @@ const AxisChar* pNamespace) { float ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2036,6 +2294,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2043,6 +2311,8 @@ const AxisChar* pNamespace) { double ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2103,6 +2373,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2110,6 +2390,8 @@ const AxisChar* pNamespace) { double ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2170,6 +2452,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2177,6 +2469,8 @@ const AxisChar* pNamespace) { AxisChar* ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2239,6 +2533,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2246,6 +2550,8 @@ const AxisChar* pNamespace) { AxisChar* ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2299,6 +2605,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2306,6 +2622,8 @@ const AxisChar* pNamespace) { AxisChar* ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2359,6 +2677,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2367,6 +2695,8 @@ pNamespace) { xsd__hexBinary ret = {0,0}; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2420,6 +2750,16 @@ } } m_pNode = NULL;/*m_nStatus = AXIS_FAIL;*/ /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2434,6 +2774,7 @@ * as a string */ value.__ptr[value.__size] = 0; + return value; } @@ -2455,6 +2796,8 @@ pNamespace) { xsd__base64Binary ret = {0,0}; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2508,6 +2851,16 @@ } } m_pNode = NULL;/* m_nStatus = AXIS_FAIL;*/ /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2515,6 +2868,8 @@ const AxisChar* pNamespace) { struct tm ret = INIT_VALUE_DATETIME; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2580,6 +2935,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2587,6 +2952,8 @@ const AxisChar* pNamespace) { struct tm ret = INIT_VALUE_DATETIME; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2653,6 +3020,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2660,6 +3037,8 @@ const AxisChar* pNamespace) { struct tm ret = INIT_VALUE_DATETIME; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2726,6 +3105,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2733,6 +3122,8 @@ const AxisChar* pNamespace) { long ret = 0; + try + { if (AXIS_SUCCESS != m_nStatus) return ret; if (RPC_ENCODED == m_nStyle) { @@ -2786,6 +3177,16 @@ } } m_nStatus = AXIS_FAIL; /* unexpected SOAP stream */ + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return ret; } @@ -2797,6 +3198,8 @@ XSDTYPE SoapDeSerializer::getXSDType(const AnyElement* pElement) { /* first check whether this is a start element node */ + try + { if (START_ELEMENT != pElement->m_type) return XSD_UNKNOWN; for (int i=0; pElement->m_pchAttributes[i]; i+=3) { @@ -2817,6 +3220,16 @@ return type; } } + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + return XSD_UNKNOWN; } /* 1.28 +15 -0 ws-axis/c/src/soap/SoapFault.cpp Index: SoapFault.cpp =================================================================== RCS file: /home/cvs/ws-axis/c/src/soap/SoapFault.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- SoapFault.cpp 3 Jun 2004 06:07:16 -0000 1.27 +++ SoapFault.cpp 13 Jun 2004 12:47:37 -0000 1.28 @@ -127,6 +127,7 @@ {"Client", "Soap Action header empty", "", ""}, {"Client", "Soap content is not valid", "", ""}, {"Client", "No method to invoke", "", ""}, + {"Client", "Content is not Soap", "", ""}, {"Client", "Requested service is not registerd at the server", "", ""}, {"Client", "Soap method is not allowed to invoke", "", ""}, {"Client", "Parameter type mismatch", "", ""}, @@ -154,7 +155,21 @@ {"Server", "Unknown Transport Exception", "", ""}, {"Server", "Receive from transport failed", "", ""}, {"Server", "Send to transport failed", "", ""}, + {"Server", "HTTP Error, cannot process response message", "", ""}, + {"Server", "nknow HTTP response, cannot process response message", "", ""}, {"Server", "Http transport exception", "", ""}, + {"Server", "Unexpected string", "", ""}, + {"Server", "Cannot initialize a channel to the remote end", "", ""}, + {"Server", "Sockets error Couldn't create socket", "", ""}, + {"Server", "Cannot open a channel to the remote end, shutting down the channel", "", ""}, + {"Server", "Invalid socket. Socket may not be open", "", ""}, + {"Server", "Output streaming error on Channel while writing data", "", ""}, + {"Server", "Input streaming error while getting data", "", ""}, + {"Server", "Channel error while waiting for timeout", "", ""}, + {"Server", "Channel error connection timeout before receving", "", ""}, + {"Server", "Transport buffer is empty", "", ""}, + {"Server", "Buffer received from the parser is empty", "", ""}, + {"Server", "Parser failed", "", ""}, {"Server", "Test exception", "", ""}, {"Server", "Unknown exception", "", ""} 1.55 +33 -1 ws-axis/c/src/soap/SoapSerializer.cpp Index: SoapSerializer.cpp =================================================================== RCS file: /home/cvs/ws-axis/c/src/soap/SoapSerializer.cpp,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- SoapSerializer.cpp 11 Jun 2004 07:30:15 -0000 1.54 +++ SoapSerializer.cpp 13 Jun 2004 12:47:37 -0000 1.55 @@ -239,8 +239,10 @@ int SoapSerializer::setOutputStream(SOAPTransport* pStream) { m_pOutputStream = pStream; - m_pOutputStream->registerReleaseBufferCallback(releaseBufferCallBack); int iStatus= AXIS_SUCCESS; + try + { + m_pOutputStream->registerReleaseBufferCallback(releaseBufferCallBack); if(m_pSoapEnvelope) { @@ -249,6 +251,19 @@ (SOAP_VERSION)m_iSoapVersion); sendSerializedBuffer(); } + } + catch(AxisSoapException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } return iStatus; } @@ -375,6 +390,8 @@ int SoapSerializer::sendSerializedBuffer() { int nStatus; + try + { nStatus = m_pOutputStream->sendBytes((char*) m_pSZBuffers[m_nCurrentBufferIndex].buffer, (void*)(&(m_pSZBuffers [m_nCurrentBufferIndex].inuse))); @@ -390,6 +407,21 @@ { return AXIS_FAIL; } + } + catch(AxisSoapException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } + + return AXIS_SUCCESS; } 1.2 +31 -0 ws-axis/c/src/xml/expat/XMLParserExpat.cpp Index: XMLParserExpat.cpp =================================================================== RCS file: /home/cvs/ws-axis/c/src/xml/expat/XMLParserExpat.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLParserExpat.cpp 27 May 2004 05:02:23 -0000 1.1 +++ XMLParserExpat.cpp 13 Jun 2004 12:47:38 -0000 1.2 @@ -155,6 +155,8 @@ delete m_pLastEvent; m_pLastEvent = NULL; } + try + { do { if (m_Events.empty()) @@ -238,12 +240,27 @@ } } while (TRANSPORT_FAILED != nStatus); return NULL; + } + catch(AxisParseException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } } int XMLParserExpat::parseNext() { int nChars = EXPAT_BUFFER_SIZE; AXIS_TRANSPORT_STATUS iTransportStatus; + try + { m_pCurrentBuffer = (char*) XML_GetBuffer(m_Parser, EXPAT_BUFFER_SIZE); if (m_pCurrentBuffer) { @@ -255,7 +272,21 @@ } if (TRANSPORT_FAILED == iTransportStatus) XML_ParseBuffer(m_Parser, 0, true); } + else throw AxisParseException(SERVER_PARSE_BUFFER_EMPTY); /* end of parsing */ + } + catch(AxisParseException& e) + { + throw; + } + catch(AxisException& e) + { + throw; + } + catch(...) + { + throw; + } return iTransportStatus; } 1.2 +1 -0 ws-axis/c/src/xml/expat/XMLParserExpat.h Index: XMLParserExpat.h =================================================================== RCS file: /home/cvs/ws-axis/c/src/xml/expat/XMLParserExpat.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLParserExpat.h 27 May 2004 05:02:23 -0000 1.1 +++ XMLParserExpat.h 13 Jun 2004 12:47:38 -0000 1.2 @@ -32,6 +32,7 @@ #include #include "../Event.h" #include +#include #include #include