You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by as...@apache.org on 2008/01/04 18:52:51 UTC

svn commit: r608940 - in /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: config/xml/SynapseXMLConfigurationFactory.java core/axis2/SynapseCallbackReceiver.java core/axis2/TimeoutHandler.java

Author: asankha
Date: Fri Jan  4 09:52:43 2008
New Revision: 608940

URL: http://svn.apache.org/viewvc?rev=608940&view=rev
Log:
minor enhancements to:
1. make the default "fault" sequence Log and Drop a message and in the log message indicate that its the default fault sequence, and also include ERROR_MESSAGE and ERROR_CODE if any are available

2. Push an ERROR_MESSAGE as "Send timeout" for timed out faults generated when an endpoint does not reply as expected

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.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/core/axis2/TimeoutHandler.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java?rev=608940&r1=608939&r2=608940&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java Fri Jan  4 09:52:43 2008
@@ -21,6 +21,7 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.xpath.AXIOMXPath;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.Mediator;
@@ -36,6 +37,8 @@
 import org.apache.synapse.mediators.base.SequenceMediator;
 import org.apache.synapse.mediators.builtin.DropMediator;
 import org.apache.synapse.mediators.builtin.LogMediator;
+import org.apache.synapse.mediators.MediatorProperty;
+import org.jaxen.JaxenException;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -202,7 +205,13 @@
 
     /**
      * Return the fault sequence if one is not defined. This implementation defaults to
-     * a simple sequence with a <log level="full"/>
+     * a simple sequence :
+     * <log level="full">
+     *   <property name="MESSAGE" value="Executing default "fault" sequence"/>
+     *   <property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
+     *   <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
+     * </log>
+     * <drop/>
      *
      * @param config the configuration to be updated
      */
@@ -211,7 +220,28 @@
         fault.setName(org.apache.synapse.SynapseConstants.FAULT_SEQUENCE_KEY);
         LogMediator log = new LogMediator();
         log.setLogLevel(LogMediator.FULL);
+
+        MediatorProperty mp = new MediatorProperty();
+        mp.setName("MESSAGE");
+        mp.setValue("Executing default \"fault\" sequence");
+        log.addProperty(mp);
+
+        mp = new MediatorProperty();
+        mp.setName("ERROR_CODE");
+        try {
+            mp.setExpression(new AXIOMXPath("get-property('ERROR_CODE')"));
+        } catch (JaxenException ignore) {}
+        log.addProperty(mp);
+
+        mp = new MediatorProperty();
+        mp.setName("ERROR_MESSAGE");
+        try {
+            mp.setExpression(new AXIOMXPath("get-property('ERROR_MESSAGE')"));
+        } catch (JaxenException ignore) {}
+        log.addProperty(mp);
+
         fault.addChild(log);
+        fault.addChild(new DropMediator());
         config.addSequence(org.apache.synapse.SynapseConstants.FAULT_SEQUENCE_KEY, fault);
     }
 

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=608940&r1=608939&r2=608940&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 Fri Jan  4 09:52:43 2008
@@ -127,7 +127,7 @@
             } else {
                 // TODO invoke a generic synapse error handler for this message
                 log.warn("Synapse received a response for the request with message Id : " +
-                    messageID + " But a callback has not been registered to process this response");
+                    messageID + " But a callback is not registered (anymore) to process this response");
             }
 
         } else if (!messageCtx.isPropertyTrue(NhttpConstants.SC_ACCEPTED)){

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java?rev=608940&r1=608939&r2=608940&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java Fri Jan  4 09:52:43 2008
@@ -115,6 +115,7 @@
                                 // add an error code to the message context, so that error sequences
                                 // can identify the cause of error
                                 msgContext.setProperty(SynapseConstants.ERROR_CODE, SynapseConstants.TIME_OUT);
+                                msgContext.setProperty(SynapseConstants.ERROR_MESSAGE, "Send timeout");
 
                                 Stack faultStack = msgContext.getFaultStack();
 



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org