You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by na...@apache.org on 2013/05/21 19:43:05 UTC

svn commit: r1484888 - in /axis/axis1/c/trunk/src: cbindings/client/CallC.cpp engine/client/Call.cpp

Author: nadiramra
Date: Tue May 21 17:43:04 2013
New Revision: 1484888

URL: http://svn.apache.org/r1484888
Log:
Minor update for C-support. 

Modified:
    axis/axis1/c/trunk/src/cbindings/client/CallC.cpp
    axis/axis1/c/trunk/src/engine/client/Call.cpp

Modified: axis/axis1/c/trunk/src/cbindings/client/CallC.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/cbindings/client/CallC.cpp?rev=1484888&r1=1484887&r2=1484888&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/cbindings/client/CallC.cpp (original)
+++ axis/axis1/c/trunk/src/cbindings/client/CallC.cpp Tue May 21 17:43:04 2013
@@ -46,14 +46,20 @@ static void processException(Call *c, Ax
     
     StubC *s = (StubC *)c->getCStub();
     if (s)
-    {
         if ((stubExceptionHandler = s->getCExceptionHandler()) != NULL)
             exceptionHandler = stubExceptionHandler;
 
-        s->doNotPerformClientRequest = true;
+    try
+    {
+        c->processSoapFault(&e, exceptionHandler);
     }
-    
-    c->processSoapFault(&e, exceptionHandler);
+    catch ( AxisException& e  )
+    {
+        // already processing exception...ignore
+    }
+
+    if (s)
+        s->doNotPerformClientRequest = true;
 }
 
 

Modified: axis/axis1/c/trunk/src/engine/client/Call.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/engine/client/Call.cpp?rev=1484888&r1=1484887&r2=1484888&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/engine/client/Call.cpp (original)
+++ axis/axis1/c/trunk/src/engine/client/Call.cpp Tue May 21 17:43:04 2013
@@ -1278,11 +1278,19 @@ void Call::processSoapFault(AxisExceptio
         
         if (faultIsDefined)
         {
-            pFaultDetail = pSoapFault->getCmplxFaultObject(fi->m_deserializerFp, 
-                                                           fi->m_createFp,
-                                                           fi->m_deleteFp, 
-                                                           fi->m_faultName, 
-                                                           0);
+            try
+            {
+               pFaultDetail = pSoapFault->getCmplxFaultObject(fi->m_deserializerFp,
+                                                              fi->m_createFp,
+                                                              fi->m_deleteFp,
+                                                              fi->m_faultName,
+                                                              0);
+            }
+            catch (AxisException& e1)
+            {
+                // Just fall through since we are already dealing with some exception.
+                pFaultDetail = NULL;
+            }
         }
         else
         {