Author: asankha
Date: Tue Mar 13 12:43:29 2007
New Revision: 517829

URL: http://svn.apache.org/viewvc?view=rev&rev=517829
Log:
fix possible NPE for non Axis2 / generic SOAP faults

Modified:
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?view=diff&rev=517829&r1=517828&r2=517829
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
 Tue Mar 13 12:43:29 2007
@@ -28,6 +28,7 @@
 import org.apache.synapse.Constants;
 import org.apache.synapse.FaultHandler;
 import org.apache.synapse.endpoints.Endpoint;
+import org.apache.axiom.soap.SOAPFault;
 
 import java.util.*;
 
@@ -79,9 +80,14 @@
         if (response.getEnvelope().getBody().hasFault()) {            
             Stack faultStack = synapseOutMsgCtx.getFaultStack();
             if (faultStack != null && !faultStack.isEmpty()) {
-                ((FaultHandler) faultStack.pop()).handleFault(
-                    synapseOutMsgCtx,
-                    
response.getEnvelope().getBody().getFault().getException());
+
+                SOAPFault fault = response.getEnvelope().getBody().getFault();
+                Exception e = fault.getException();
+                if (e == null) {
+                    e = new 
Exception(fault.getReason().getFirstSOAPText().getText());    
+                }
+
+                ((FaultHandler) 
faultStack.pop()).handleFault(synapseOutMsgCtx,e);
             }
 
         } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to