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]