I was having some problems whenever Axis threw an exception.  The problem would 
corrupt the stack so that VC++ couldn't tell what or where the crash occured.

I did find that there were some exceptions that may be at fault (according to 
our c++ gurus).  It boils down to the fact that exceptions must have a copy 
constructor that allows for a deep copy of the data.

Before I filed a Jira, I wanted someone with a bit more experience to say, 
"yah, that could be a problem".  I have a patch, that seems to help.

Here's the code I came up with:
Index: c/src/common/AxisGenException.h
===================================================================
--- c/src/common/AxisGenException.h     (revision 510578)
+++ c/src/common/AxisGenException.h     (working copy)
@@ -38,6 +38,11 @@
     }
        AxisGenException(const AxisException& e): AxisException (e) { }
     virtual ~AxisGenException() throw() { }
+
+  AxisGenException(const AxisGenException &that)
+  {
+    this->setMessage(that.m_iExceptionCode, that.m_sMessage.c_str());
+  }
 };

 AXIS_CPP_NAMESPACE_END
Index: c/src/transport/axis3/HTTPTransportException.hpp
===================================================================
--- c/src/transport/axis3/HTTPTransportException.hpp    (revision 510578)
+++ c/src/transport/axis3/HTTPTransportException.hpp    (working copy)
@@ -40,6 +40,11 @@
     // constructor
     HTTPTransportException(const AxisException& e): AxisException (e) { }

+    HTTPTransportException(const HTTPTransportException &that)
+    {
+      this->setMessage(that.m_iExceptionCode, that.m_sMessage.c_str());
+    }
+
     // destructor
     virtual ~HTTPTransportException() throw() { }
 };




--- 
Wayne Johnson,                         | There are two kinds of people: Those 
3943 Penn Ave. N.          | who say to God, "Thy will be done," 
Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
(612) 522-7003                         | then,  have it your way." --C.S. Lewis

 
---------------------------------
Bored stiff? Loosen up...
Download and play hundreds of games for free on Yahoo! Games.

Reply via email to