axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dami...@apache.org
Subject cvs commit: ws-axis/c/src/xml/expat XMLParserExpat.cpp XMLParserExpat.h
Date Sun, 13 Jun 2004 12:47:38 GMT
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 <axis/SOAPTransport.h>
  -#include <axis/server/AxisException.h>
  +#include <axis/AxisSoapException.h>
   
   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 <axis/AxisSoapException.h>
   
   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 <axis/server/AnyElement.h>
   #include "../Event.h"
   #include <axis/server/XMLParser.h>
  +#include <axis/AxisParseException.h>
   
   #include <queue>
   #include <map>
  
  
  

Mime
View raw message