Author: hiranya
Date: Fri Jun  5 01:54:56 2009
New Revision: 37865
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=37865

Log:
Adding new service parameter for FIX transport to support dropping extra 
responses

Modified:
   
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
   
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
   branches/synapse/1.3-wso2v1/repository/conf/sample/synapse_sample_350.xml
   branches/synapse/1.3-wso2v1/src/site/xdoc/Synapse_Samples.xml

Modified: 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java?rev=37865&r1=37864&r2=37865&view=diff
==============================================================================
--- 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
        (original)
+++ 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXConstants.java
        Fri Jun  5 01:54:56 2009
@@ -100,4 +100,6 @@
 
     public static final String FIX_BEGIN_STRING_VALIDATION = 
"transport.fix.BeginStringValidation";
 
+    public static final String FIX_DROP_EXTRA_RESPONSES = 
"transport.fix.DropExtraResponses";
+
 }
\ No newline at end of file

Modified: 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java?rev=37865&r1=37864&r2=37865&view=diff
==============================================================================
--- 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
   (original)
+++ 
branches/synapse/1.3-wso2v1/modules/transports/optional/fix/src/main/java/org/apache/synapse/transport/fix/FIXIncomingMessageHandler.java
   Fri Jun  5 01:54:56 2009
@@ -27,7 +27,6 @@
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.AxisMessage;
 import org.apache.axis2.transport.base.AbstractTransportListener;
 import org.apache.axis2.transport.base.AbstractTransportSender;
 import org.apache.axis2.transport.base.BaseConstants;
@@ -67,6 +66,7 @@
     private Map<SessionID, Integer> countersMap;
     private Queue<MessageContext> outgoingMessages;
     private boolean allNewApproach;
+    private boolean dropExtraResponses;
     private Semaphore semaphore;
 
     public FIXIncomingMessageHandler(ConfigurationContext cfgCtx, WorkerPool 
workerPool,
@@ -84,13 +84,18 @@
 
     private void getResponseHandlingApproach() {
         Parameter param = 
service.getParameter(FIXConstants.FIX_RESPONSE_HANDLER_APPROACH);
-        if (param != null) {
-            if ("false".equals(param.getValue().toString())) {
-                allNewApproach = false;
-                return;
-            }
+        if (param != null && "false".equals(param.getValue().toString())) {
+            allNewApproach = false;
+        } else {
+            allNewApproach = true;
+        }
+
+        Parameter dropResponsesParam = 
service.getParameter(FIXConstants.FIX_DROP_EXTRA_RESPONSES);
+        if (dropResponsesParam != null && 
"true".equals(dropResponsesParam.getValue().toString())) {
+            dropExtraResponses = true;
+        } else {
+            dropExtraResponses = false;
         }
-        allNewApproach = true;
     }
 
     public void setOutgoingMessageContext(MessageContext msgCtx) {
@@ -367,10 +372,11 @@
                     if (outMsgCtx != null) {
                         //handle as a response to an outgoing message
                         handleIncomingResponse(outMsgCtx);
-                    }
-                    else {
+                    } else if (!dropExtraResponses) {
                         //handle as a new request message
                         handleIncomingRequest();
+                    } else {
+                        log.debug("Dropping additional FIX response");
                     }
                 }
             }

Modified: 
branches/synapse/1.3-wso2v1/repository/conf/sample/synapse_sample_350.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/repository/conf/sample/synapse_sample_350.xml?rev=37865&r1=37864&r2=37865&view=diff
==============================================================================
--- branches/synapse/1.3-wso2v1/repository/conf/sample/synapse_sample_350.xml   
(original)
+++ branches/synapse/1.3-wso2v1/repository/conf/sample/synapse_sample_350.xml   
Fri Jun  5 01:54:56 2009
@@ -35,7 +35,7 @@
         <script language="js" key="stockquoteScript" 
function="transformRequest"/>
         <send>
             <endpoint>
-                <address 
uri="http://localhost:9000/soap/SimpleStockQuoteService"/>
+                <address 
uri="http://localhost:9000/services/SimpleStockQuoteService"/>
             </endpoint>
         </send>
     </in>

Modified: branches/synapse/1.3-wso2v1/src/site/xdoc/Synapse_Samples.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.3-wso2v1/src/site/xdoc/Synapse_Samples.xml?rev=37865&r1=37864&r2=37865&view=diff
==============================================================================
--- branches/synapse/1.3-wso2v1/src/site/xdoc/Synapse_Samples.xml       
(original)
+++ branches/synapse/1.3-wso2v1/src/site/xdoc/Synapse_Samples.xml       Fri Jun 
 5 01:54:56 2009
@@ -2811,7 +2811,7 @@
         &lt;script language=&quot;js&quot; key=&quot;stockquoteScript&quot; 
function=&quot;transformRequest&quot;/&gt;
         &lt;send&gt;
             &lt;endpoint&gt;
-                &lt;address 
uri=&quot;http://localhost:9000/soap/SimpleStockQuoteService&quot;/&gt;
+                &lt;address 
uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&gt;
             &lt;/endpoint&gt;
         &lt;/send&gt;
     &lt;/in&gt;

_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to