Author: asankha
Date: Sat Jan  5 03:49:15 2008
New Revision: 609127

URL: http://svn.apache.org/viewvc?rev=609127&view=rev
Log:
fix SYNAPSE-209

Modified:
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java?rev=609127&r1=609126&r2=609127&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
 Sat Jan  5 03:49:15 2008
@@ -71,20 +71,20 @@
         boolean traceOn = synCtx.getTracingState() == 
SynapseConstants.TRACING_ON;
         boolean traceOrDebugOn = traceOn || log.isDebugEnabled();
 
-        if (synCtx.getProperty(SynapseConstants.ERROR_CODE) == null) {
-            synCtx.setProperty(SynapseConstants.ERROR_CODE, "00000");
-        }
-        if (synCtx.getProperty(SynapseConstants.ERROR_MESSAGE) == null) {
-            // use only the first line as the message for multiline exception 
messages (Axis2 has these)
-            synCtx.setProperty(SynapseConstants.ERROR_MESSAGE, 
e.getMessage().split("\n")[0]);
-        }
+        synCtx.setProperty(SynapseConstants.ERROR_CODE, "00000");
+        // use only the first line as the message for multiline exception 
messages (Axis2 has these)
+        synCtx.setProperty(SynapseConstants.ERROR_MESSAGE, 
e.getMessage().split("\n")[0]);
+
         synCtx.setProperty(SynapseConstants.ERROR_DETAIL, getStackTrace(e));
+        synCtx.setProperty(SynapseConstants.ERROR_EXCEPTION, e);
 
         if (traceOrDebugOn) {
             traceOrDebugWarn(traceOn, "Fault handler - setting ERROR_MESSAGE : 
" +
                 synCtx.getProperty(SynapseConstants.ERROR_MESSAGE));
             traceOrDebugWarn(traceOn, "Fault handler - setting ERROR_DETAIL : 
" +
                 synCtx.getProperty(SynapseConstants.ERROR_DETAIL));
+            traceOrDebugWarn(traceOn, "Fault handler - setting ERROR_EXCEPTION 
: " +
+                synCtx.getProperty(SynapseConstants.ERROR_EXCEPTION));
         }
 
         synCtx.getServiceLog().warn("Fault handler - setting ERROR_MESSAGE : " 
+

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=609127&r1=609126&r2=609127&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
 Sat Jan  5 03:49:15 2008
@@ -111,6 +111,8 @@
         public static final String ERROR_MESSAGE = "ERROR_MESSAGE";
         /** The message context property name which holds the error detail 
(stack trace) for the last encountered exception */
         public static final String ERROR_DETAIL = "ERROR_DETAIL";
+        /** The message context property name which holds the exception (if 
any) for the last encountered exception */
+        public static final String ERROR_EXCEPTION = "ERROR_EXCEPTION";
 
         /** Sandesha last message property name */
         public static final String SANDESHA_LAST_MESSAGE = 
"Sandesha2LastMessage";

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?rev=609127&r1=609126&r2=609127&view=diff
==============================================================================
--- 
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
 Sat Jan  5 03:49:15 2008
@@ -172,6 +172,10 @@
                             
synapseOutMsgCtx.setProperty(SynapseConstants.ERROR_MESSAGE,
                                     faultReason.getText());
                         }
+                        if (fault.getException() != null) {
+                            
synapseOutMsgCtx.setProperty(SynapseConstants.ERROR_EXCEPTION,
+                                    fault.getException());
+                        }
                         ((FaultHandler) 
faultStack.pop()).handleFault(synapseOutMsgCtx, e);
                     }
                 }

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java?rev=609127&r1=609126&r2=609127&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java
 Sat Jan  5 03:49:15 2008
@@ -203,6 +203,8 @@
                 // set error message and detail (stack trace) into the message 
context
                 synCtx.setProperty(SynapseConstants.ERROR_MESSAGE,
                     errorHandler.getSaxParseException().getMessage());
+                synCtx.setProperty(SynapseConstants.ERROR_EXCEPTION,
+                    errorHandler.getSaxParseException());
                 synCtx.setProperty(SynapseConstants.ERROR_DETAIL,
                     
FaultHandler.getStackTrace(errorHandler.getSaxParseException()));
 



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

Reply via email to