You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/09/27 15:18:54 UTC

svn commit: r1001728 - /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java

Author: supun
Date: Mon Sep 27 13:18:54 2010
New Revision: 1001728

URL: http://svn.apache.org/viewvc?rev=1001728&view=rev
Log:
SYNAPSE-686

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java?rev=1001728&r1=1001727&r2=1001728&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java Mon Sep 27 13:18:54 2010
@@ -27,6 +27,7 @@ import org.apache.synapse.FaultHandler;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.transport.nhttp.NhttpConstants;
 import org.apache.synapse.core.LoadBalanceMembershipHandler;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
@@ -190,6 +191,13 @@ public class DynamicLoadbalanceEndpoint 
         //Rewriting the URL
         org.apache.axis2.context.MessageContext axis2MsgCtx =
                 ((Axis2MessageContext) synCtx).getAxis2MessageContext();
+
+        //Removing the REST_URL_POSTFIX - this is a hack.
+        //In this loadbalance endpoint we create an endpoint per request by setting the complete url as the adress.
+        //If a REST message comes Axis2FlexibleMEPClient append the REST_URL_POSTFIX to the adress. Hence endpoint fails
+        //do send the request. e.g.  http://localhost:8080/example/index.html/example/index.html
+        axis2MsgCtx.removeProperty(NhttpConstants.REST_URL_POSTFIX);
+
         String transport = axis2MsgCtx.getTransportIn().getName();
         String address = synCtx.getTo().getAddress();
         EndpointReference to = getEndpointReferenceAfterURLRewrite(currentMember,