You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ka...@apache.org on 2011/12/19 13:26:16 UTC

svn commit: r1220710 - in /synapse/branches/2.1: ./ modules/commons/src/main/java/org/apache/synapse/commons/builders/ modules/core/src/main/java/org/apache/synapse/config/xml/ modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/ modules...

Author: kasun
Date: Mon Dec 19 12:26:15 2011
New Revision: 1220710

URL: http://svn.apache.org/viewvc?rev=1220710&view=rev
Log:
Chaning dependecies of 2.1 to release versions of axis2, axiom, shandesha, axis2-transports

Removed:
    synapse/branches/2.1/modules/commons/src/main/java/org/apache/synapse/commons/builders/
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/ServiceDynamicLoadbalanceEndpointFactory.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/ServiceDynamicLoadbalanceEndpoint.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpTransportDescriptionFactory.java
Modified:
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java
    synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java
    synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
    synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java
    synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java
    synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java
    synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java
    synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
    synapse/branches/2.1/pom.xml

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java Mon Dec 19 12:26:15 2011
@@ -20,6 +20,7 @@
 package org.apache.synapse.config.xml;
 
 import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.commons.logging.Log;
@@ -39,8 +40,9 @@ public class OMElementUtils {
 
     /**
      * Return the namespace with the given prefix, using the given element
+     *
      * @param prefix the prefix looked up
-     * @param elem the source element to use
+     * @param elem   the source element to use
      * @return the namespace which maps to the prefix or null
      */
     public static String getNameSpaceWithPrefix(String prefix, OMElement elem) {
@@ -48,19 +50,19 @@ public class OMElementUtils {
             log.warn("Searching for null NS prefix and/or using null OMElement");
             return null;
         }
-        
+
         OMElement currentElem = elem;
         while (true) {
             Iterator iter = currentElem.getAllDeclaredNamespaces();
             while (iter.hasNext()) {
                 OMNamespace ns = (OMNamespace) iter.next();
                 if (prefix.equals(ns.getPrefix())) {
-                    return ns.getNamespaceURI();     
+                    return ns.getNamespaceURI();
                 }
             }
             OMContainer parent = currentElem.getParent();
             if (parent != null && parent instanceof OMElement) {
-                currentElem = (OMElement)parent;
+                currentElem = (OMElement) parent;
             } else {
                 return null;
             }
@@ -71,7 +73,7 @@ public class OMElementUtils {
      * Add the namespace declarations of a given {@link OMElement} to the namespace
      * context of an XPath expression. Typically this method is used with an XPath
      * expression appearing in an attribute of the given element.
-     * <p>
+     * <p/>
      * Note that the default namespace is explicitly excluded and not added to the
      * namespace context. This implies that XPath expressions
      * appearing in Synapse configuration files follow the same rule as in XSL
@@ -82,29 +84,43 @@ public class OMElementUtils {
      * attribute in which the expression occurs; [...] the default namespace
      * (as declared by xmlns) is not part of this set
      * </blockquote>
-     * 
+     *
      * @param xpath
      * @param elem
      * @param log
      */
     public static void addNameSpaces(XPath xpath, OMElement elem, Log log) {
-        Iterator it = elem.getNamespacesInScope();
-        while (it.hasNext()) {
+        OMElement currentElem = elem;
 
-            OMNamespace n = (OMNamespace) it.next();
-            // Exclude the default namespace as explained in the Javadoc above
-            if (n.getPrefix().length() > 0) {
-
-                try {
-                    xpath.addNamespace(n.getPrefix(), n.getNamespaceURI());
-                } catch (JaxenException je) {
-                    String msg = "Error adding declared name space with prefix : "
-                        + n.getPrefix() + "and uri : " + n.getNamespaceURI()
-                        + " to the XPath : " + xpath;
-                    log.error(msg);
-                    throw new SynapseException(msg, je);
+        while (currentElem != null) {
+            Iterator it = currentElem.getAllDeclaredNamespaces();
+            while (it.hasNext()) {
+
+                OMNamespace n = (OMNamespace) it.next();
+                // Exclude the default namespace as explained in the Javadoc above
+                if (n != null && !"".equals(n.getPrefix())) {
+
+                    try {
+                        xpath.addNamespace(n.getPrefix(), n.getNamespaceURI());
+                    } catch (JaxenException je) {
+                        String msg = "Error adding declared name space with prefix : "
+                                + n.getPrefix() + "and uri : " + n.getNamespaceURI()
+                                + " to the XPath : " + xpath;
+                        log.error(msg);
+                        throw new SynapseException(msg, je);
+                    }
                 }
             }
+
+            OMContainer parent = currentElem.getParent();
+            //if the parent is a document element or parent is null ,then return
+            if (parent == null || parent instanceof OMDocument) {
+                return;
+            }
+            if (parent instanceof OMElement) {
+                currentElem = (OMElement) parent;
+            }
         }
     }
+
 }

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java Mon Dec 19 12:26:15 2011
@@ -227,12 +227,6 @@ public abstract class EndpointFactory im
             return DynamicLoadbalanceEndpointFactory.getInstance();
         }
 
-        OMElement sdlbElement = configElement.getFirstChildWithName
-                (new QName(SynapseConstants.SYNAPSE_NAMESPACE, "serviceDynamicLoadbalance"));
-        if (sdlbElement != null) {
-            return ServiceDynamicLoadbalanceEndpointFactory.getInstance();
-        }
-        
         OMElement foElement = configElement.getFirstChildWithName
                 (new QName(SynapseConstants.SYNAPSE_NAMESPACE, "failover"));
         if (foElement != null) {

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java Mon Dec 19 12:26:15 2011
@@ -112,15 +112,15 @@ public class RoundRobin implements Loadb
                 currentMemberIndex = 0;
             }
             int index = members.size();
-            do {
-                current = members.get(currentMemberIndex);
-                if (currentMemberIndex == members.size() - 1) {
-                    currentMemberIndex = 0;
-                } else {
-                    currentMemberIndex++;
-                }
-                index--;
-            } while (current.isSuspended() && index > 0);
+
+            current = members.get(currentMemberIndex);
+            if (currentMemberIndex == members.size() - 1) {
+                currentMemberIndex = 0;
+            } else {
+                currentMemberIndex++;
+            }
+            index--;
+
             algorithmContext.setCurrentEndpointIndex(currentMemberIndex);
             if (log.isDebugEnabled()) {
                 log.debug("Members       : " + members.size());

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java Mon Dec 19 12:26:15 2011
@@ -19,6 +19,8 @@
 
 package org.apache.synapse.mediators;
 
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.commons.logging.Log;
@@ -155,11 +157,37 @@ public class Value {
     }
 
     public void setNamespaces(OMElement elem){
-        Iterator namespaces = elem.getNamespacesInScope();
+        OMElement currentElem = elem;
+
+        while (currentElem != null) {
+            Iterator it = currentElem.getAllDeclaredNamespaces();
+            while (it.hasNext()) {
+                OMNamespace n = (OMNamespace) it.next();
+                // Exclude the default namespace as explained in the Javadoc above
+                if (n != null && !"".equals(n.getPrefix())) {
+                    namespaceList.add(n);
+                }
+            }
+
+            OMContainer parent = currentElem.getParent();
+            //if the parent is a document element or parent is null ,then return
+            if (parent == null || parent instanceof OMDocument) {
+                return;
+            }
+            if (parent instanceof OMElement) {
+                currentElem = (OMElement) parent;
+            }
+        }
+
+
+        Iterator namespaces = elem.getAllDeclaredNamespaces();
         while (namespaces.hasNext()){
             OMNamespace ns = (OMNamespace) namespaces.next();
             namespaceList.add(ns);
         }
+
+
+
     }
 
     @Override

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java Mon Dec 19 12:26:15 2011
@@ -19,16 +19,13 @@
 
 package org.apache.synapse.mediators.builtin;
 
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.clustering.ClusteringFault;
 import org.apache.axis2.clustering.state.Replicator;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.axis2.saaj.util.IDGenerator;
+import org.apache.axis2.saaj.util.SAAJUtil;
+import org.apache.axis2.clustering.ClusteringFault;
 import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.i18n.Messages;
 import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseException;
@@ -40,15 +37,20 @@ import org.apache.synapse.mediators.Abst
 import org.apache.synapse.mediators.base.SequenceMediator;
 import org.apache.synapse.util.FixedByteArrayOutputStream;
 import org.apache.synapse.util.MessageHelper;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.wso2.caching.*;
-import org.wso2.caching.util.SOAPMessageHelper;
+import org.wso2.caching.CacheManager;
+import org.wso2.caching.CachedObject;
+import org.wso2.caching.CachingConstants;
+import org.wso2.caching.CachingException;
 import org.wso2.caching.digest.DigestGenerator;
 
 import javax.xml.soap.SOAPException;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.MimeHeaders;
 import javax.xml.stream.XMLStreamException;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.io.ByteArrayInputStream;
 
 /**
  * CacheMediator will cache the response messages indexed using the hash value of the
@@ -151,10 +153,10 @@ public class CacheMediator extends Abstr
         try {
 
             if (synCtx.isResponse()) {
-                processResponseMessage(synCtx, synLog);
+                processResponseMessage(synCtx, cfgCtx, synLog, cacheManager);
 
             } else {
-                result = processRequestMessage(synCtx, synLog, cacheManager);
+                result = processRequestMessage(synCtx, cfgCtx, synLog, cacheManager);
             }
 
         } catch (ClusteringFault clusteringFault) {
@@ -172,70 +174,66 @@ public class CacheMediator extends Abstr
      *
      * @param synLog         the Synapse log to use
      * @param synCtx         the current message (response)
+     * @param cfgCtx         the abstract context in which the cache will be kept
+     * @param cacheManager   the cache manager
      * @throws ClusteringFault is there is an error in replicating the cfgCtx
      */
-    private void processResponseMessage(MessageContext synCtx,
-                                        SynapseLog synLog) throws ClusteringFault {
+    private void processResponseMessage(MessageContext synCtx, ConfigurationContext cfgCtx,
+        SynapseLog synLog, CacheManager cacheManager) throws ClusteringFault {
 
         if (!collector) {
             handleException("Response messages cannot be handled in a non collector cache", synCtx);
         }
 
-        org.apache.axis2.context.MessageContext msgCtx =
-                ((Axis2MessageContext)synCtx).getAxis2MessageContext();
-        OperationContext operationContext = msgCtx.getOperationContext();
-
-        CachableResponse response =
-                (CachableResponse) operationContext.getPropertyNonReplicable(CachingConstants.CACHED_OBJECT);
-        if (response != null) {
+        String requestHash = (String) synCtx.getProperty(CachingConstants.REQUEST_HASH);
+
+        if (requestHash != null) {
             if (synLog.isTraceOrDebugEnabled()) {
                 synLog.traceOrDebug("Storing the response message into the cache at scope : " +
-                        scope + " with ID : " + cacheKey + " for request hash : " + response.getRequestHash());
-            }
-            if (synLog.isTraceOrDebugEnabled()) {
-                synLog.traceOrDebug("Storing the response for the message with ID : " +
-                        synCtx.getMessageID() + " with request hash ID : " +
-                        response.getRequestHash() + " in the cache : " + cacheKey);
+                    scope + " with ID : " + cacheKey + " for request hash : " + requestHash);
             }
 
-            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-            try {
-                synCtx.getEnvelope().serialize(outStream);
-                response.setResponseEnvelope(outStream.toByteArray());
-            } catch (XMLStreamException e) {
-                handleException("Unable to set the response to the Cache", e, synCtx);
-            }
+            CachedObject cachedObj = cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx);
+            if (cachedObj != null) {
 
-            // this is not required yet, can commented this for perf improvements
-            // in the future there can be a situation where user sends the request
-            // with the response hash (if client side caching is on) in which case
-            // we can compare that response hash with the given response hash and
-            // respond with not-modified http header */
-            // cachedObj.setResponseHash(cache.getGenerator().getDigest(
-            //     ((Axis2MessageContext) synCtx).getAxis2MessageContext()));
-
-            if (response.getTimeout() > 0) {
-                response.setExpireTimeMillis(System.currentTimeMillis() + response.getTimeout());
-            }
+                if (synLog.isTraceOrDebugEnabled()) {
+                    synLog.traceOrDebug("Storing the response for the message with ID : " +
+                        synCtx.getMessageID() + " with request hash ID : " +
+                        cachedObj.getRequestHash() + " in the cache : " + cacheKey);
+                }
 
-            // Finally, we may need to replicate the changes in the cache
-            CacheReplicationCommand cacheReplicationCommand
-                    = (CacheReplicationCommand) msgCtx.getPropertyNonReplicable(
-                    CachingConstants.STATE_REPLICATION_OBJECT);
-            if (cacheReplicationCommand != null) {
+                ByteArrayOutputStream outStream = new ByteArrayOutputStream();
                 try {
-                    Replicator.replicateState(cacheReplicationCommand,
-                            msgCtx.getRootContext().getAxisConfiguration());
-                } catch (ClusteringFault clusteringFault) {
-                    log.error("Cannot replicate cache changes");
+                    MessageHelper.cloneSOAPEnvelope(synCtx.getEnvelope()).serialize(outStream);
+                    cachedObj.setResponseEnvelope(outStream.toByteArray());
+                } catch (XMLStreamException e) {
+                    handleException("Unable to set the response to the Cache", e, synCtx);
                 }
+
+                /* this is not required yet, can commented this for perf improvements
+                   in the future there can be a situation where user sends the request
+                   with the response hash (if client side caching is on) in which case
+                   we can compare that response hash with the given response hash and
+                   respond with not-modified http header */
+                // cachedObj.setResponseHash(cache.getGenerator().getDigest(
+                //     ((Axis2MessageContext) synCtx).getAxis2MessageContext()));
+
+                if (cachedObj.getTimeout() > 0) {
+                    cachedObj.setExpireTimeMillis(System.currentTimeMillis() + cachedObj.getTimeout());
+                }
+
+                cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+//                Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+                Replicator.replicate(cfgCtx);
+            } else {
+                synLog.auditWarn("A response message without a valid mapping to the " +
+                    "request hash found. Unable to store the response in cache");
             }
+
         } else {
-            synLog.auditWarn("A response message without a valid mapping to the " +
-                    "request hash found. Unable to store the response in cache");
+            synLog.auditWarn("A response message without a mapping to the " +
+                "request hash found. Unable to store the response in cache");
         }
-
-
     }
 
     /**
@@ -244,19 +242,18 @@ public class CacheMediator extends Abstr
      * this message as a response and sends back directly to client.
      *
      * @param synCtx         incoming request message
+     * @param cfgCtx         the AbstractContext in which the cache will be kept
      * @param synLog         the Synapse log to use
      * @param cacheManager   the cache manager
      * @return should this mediator terminate further processing?
      * @throws ClusteringFault if there is an error in replicating the cfgCtx
      */
-    private boolean processRequestMessage(MessageContext synCtx,
+    private boolean processRequestMessage(MessageContext synCtx, ConfigurationContext cfgCtx,
         SynapseLog synLog, CacheManager cacheManager) throws ClusteringFault {
 
         if (collector) {
             handleException("Request messages cannot be handled in a collector cache", synCtx);
         }
-        OperationContext opCtx = ((Axis2MessageContext)synCtx).getAxis2MessageContext().
-                getOperationContext();
 
         String requestHash = null;
         try {
@@ -271,49 +268,57 @@ public class CacheMediator extends Abstr
             synLog.traceOrDebug("Generated request hash : " + requestHash);
         }
 
-        ServiceName service;
-        if (id != null) {
-            service = new ServiceName(id);
-        } else {
-            service = new ServiceName(cacheKey);
-        }
-
-        RequestHash hash = new RequestHash(requestHash);
-        CachableResponse cachedResponse =
-                cacheManager.getCachedResponse(service, hash);
+        if (cacheManager.containsKey(cacheKey, requestHash) &&
+            cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx) != null) {
 
-        org.apache.axis2.context.MessageContext msgCtx = ((Axis2MessageContext)synCtx).getAxis2MessageContext();
-        opCtx.setNonReplicableProperty(CachingConstants.REQUEST_HASH, requestHash);
-        CacheReplicationCommand cacheReplicationCommand = new CacheReplicationCommand();
-
-        if (cachedResponse != null) {
             // get the response from the cache and attach to the context and change the
             // direction of the message
-            if (!cachedResponse.isExpired()) {
+            CachedObject cachedObj = cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx);
+
+            if (!cachedObj.isExpired() && cachedObj.getResponseEnvelope() != null) {
+
                 if (synLog.isTraceOrDebugEnabled()) {
                     synLog.traceOrDebug("Cache-hit for message ID : " + synCtx.getMessageID());
                 }
-                cachedResponse.setInUse(true);
+
                 // mark as a response and replace envelope from cache
                 synCtx.setResponse(true);
-                opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, cachedResponse);
-
-                SOAPEnvelope omSOAPEnv;
                 try {
-                    omSOAPEnv = SOAPMessageHelper.buildSOAPEnvelopeFromBytes(
-                            cachedResponse.getResponseEnvelope());
-                    if (omSOAPEnv != null) {
+                    MessageFactory mf = MessageFactory.newInstance();
+                    SOAPMessage smsg;
+                    if (synCtx.isSOAP11()) {
+                        smsg = mf.createMessage(new MimeHeaders(),
+                                new ByteArrayInputStream(cachedObj.getResponseEnvelope()));
+                    } else {
+                        MimeHeaders mimeHeaders = new MimeHeaders();
+                        mimeHeaders.addHeader("Content-ID", IDGenerator.generateID());
+                        mimeHeaders.addHeader("content-type",
+                                HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML);
+                        smsg = mf.createMessage(mimeHeaders,
+                                new ByteArrayInputStream((cachedObj).getResponseEnvelope()));
+                    }
+
+                    if (smsg != null) {
+                        org.apache.axiom.soap.SOAPEnvelope omSOAPEnv =
+                                SAAJUtil.toOMSOAPEnvelope(
+                                        smsg.getSOAPPart().getDocumentElement());
                         synCtx.setEnvelope(omSOAPEnv);
+                    } else {
+                        handleException("Unable to serve from the cache : " +
+                                "Couldn't build the SOAP response from the cached byte stream",
+                                synCtx);
                     }
+
+                    // todo: if there is a WSA messageID in the response, is that need to be unique on each and every resp
                 } catch (AxisFault axisFault) {
                     handleException("Error setting response envelope from cache : "
-                            + cacheKey, synCtx);
+                        + cacheKey, synCtx);
                 } catch (IOException ioe) {
                     handleException("Error setting response envelope from cache : "
-                            + cacheKey, ioe, synCtx);
+                        + cacheKey, ioe, synCtx);
                 } catch (SOAPException soape) {
                     handleException("Error setting response envelope from cache : "
-                            + cacheKey, soape, synCtx);
+                        + cacheKey, soape, synCtx);
                 }
 
                 // take specified action on cache hit
@@ -327,7 +332,7 @@ public class CacheMediator extends Abstr
 
                     if (synLog.isTraceOrDebugEnabled()) {
                         synLog.traceOrDebug("Delegating message to the onCachingHit " +
-                                "sequence : " + onCacheHitRef);
+                            "sequence : " + onCacheHitRef);
                     }
                     synCtx.getSequence(onCacheHitRef).mediate(synCtx);
 
@@ -335,7 +340,7 @@ public class CacheMediator extends Abstr
 
                     if (synLog.isTraceOrDebugEnabled()) {
                         synLog.traceOrDebug("Request message " + synCtx.getMessageID() +
-                                " was served from the cache : " + cacheKey);
+                            " was served from the cache : " + cacheKey);
                     }
                     // send the response back if there is not onCacheHit is specified
                     synCtx.setTo(null);
@@ -345,52 +350,54 @@ public class CacheMediator extends Abstr
                 return false;
 
             } else {
-                cachedResponse.reincarnate(timeout);
-                if (synLog.isTraceOrDebugEnabled()) {
-                    synLog.traceOrDebug("Existing cached response has expired. Reset cache element");
-                }
-                cacheManager.cacheResponse(service, hash, cachedResponse, cacheReplicationCommand);
-                opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, cachedResponse);
-                opCtx.setNonReplicableProperty(CachingConstants.STATE_REPLICATION_OBJECT,
-                        cacheReplicationCommand);
-
-                Replicator.replicate(opCtx);
+                // cache exists, but has expired...
+                cachedObj.expire();
+                cachedObj.setTimeout(timeout);
+                synLog.traceOrDebug("Existing cached response has expired. Reset cache element");
+
+                cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+//                Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+                Replicator.replicate(cfgCtx);
             }
+
         } else {
+
             // if not found in cache, check if we can cache this request
-            if (cacheManager.getCacheSize(service) >= inMemoryCacheSize) { // If cache is full
-                cacheManager.removeExpiredResponses(service, cacheReplicationCommand); // try to remove expired responses
-                if (cacheManager.getCacheSize(service) >= inMemoryCacheSize) { // recheck if there is space
-                    if (log.isDebugEnabled()) {
-                        log.debug("In-memory cache is full. Unable to cache");
-                    }
-                } else { // if we managed to free up some space in the cache. Need state replication
-                    cacheNewResponse(msgCtx, service, hash, cacheManager,
-                                     cacheReplicationCommand);
+            if (cacheManager.getCacheKeys(cacheKey).size() == inMemoryCacheSize) {
+                cacheManager.removeExpiredResponses(cacheKey, cfgCtx);
+                if (cacheManager.getCacheKeys(cacheKey).size() == inMemoryCacheSize) {
+                    synLog.traceOrDebug("In-memory cache is full. Unable to cache");
+                } else {
+                    storeRequestToCache(cfgCtx, requestHash, cacheManager);
                 }
-            } else { // if there is more space in the cache. Need state replication
-                cacheNewResponse(msgCtx, service, hash, cacheManager,
-                                 cacheReplicationCommand);
+            } else {
+                storeRequestToCache(cfgCtx, requestHash, cacheManager);
             }
         }
-
         return true;
     }
 
-    private void cacheNewResponse(org.apache.axis2.context.MessageContext msgContext,
-                                  ServiceName serviceName, RequestHash requestHash,
-                                  CacheManager cacheManager,
-                                  CacheReplicationCommand cacheReplicationCommand) throws ClusteringFault {
-        OperationContext opCtx = msgContext.getOperationContext();
-        CachableResponse response = new CachableResponse();
-        response.setRequestHash(requestHash.getRequestHash());
-        response.setTimeout(timeout);
-        cacheManager.cacheResponse(serviceName, requestHash, response, cacheReplicationCommand);
-        opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, response);
-        opCtx.setNonReplicableProperty(CachingConstants.STATE_REPLICATION_OBJECT,
-                                       cacheReplicationCommand);
+    /**
+     * Store request message to the cache
+     *
+     * @param cfgCtx        - the Abstract context in which the cache will be kept
+     * @param requestHash   - the request hash that has already been computed
+     * @param cacheManager  - the cache
+     * @throws ClusteringFault if there is an error in replicating the cfgCtx
+     */
+    private void storeRequestToCache(ConfigurationContext cfgCtx,
+        String requestHash, CacheManager cacheManager) throws ClusteringFault {
 
-        Replicator.replicate(opCtx);
+        CachedObject cachedObj = new CachedObject();
+        cachedObj.setRequestHash(requestHash);
+        // this does not set the expiretime but just sets the timeout and the espiretime will
+        // be set when the response is availabel
+        cachedObj.setTimeout(timeout);
+        cacheManager.addResponseWithKey(cacheKey, requestHash, cachedObj, cfgCtx);
+
+        cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+//        Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+        Replicator.replicate(cfgCtx);
     }
 
     public String getId() {
@@ -476,15 +483,4 @@ public class CacheMediator extends Abstr
     public void setMaxMessageSize(int maxMessageSize) {
         this.maxMessageSize = maxMessageSize;
     }
-
-    public SOAPFactory getSOAPFactory(org.apache.axis2.context.MessageContext msgContext) throws AxisFault {
-        String nsURI = msgContext.getEnvelope().getNamespace().getNamespaceURI();
-        if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
-            return OMAbstractFactory.getSOAP12Factory();
-        } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
-            return OMAbstractFactory.getSOAP11Factory();
-        } else {
-            throw new AxisFault(Messages.getMessage("invalidSOAPversion"));
-        }
-    }
 }
\ No newline at end of file

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java Mon Dec 19 12:26:15 2011
@@ -22,9 +22,10 @@ package org.apache.synapse.util;
 import javax.xml.transform.Source;
 import javax.xml.transform.dom.DOMSource;
 
-import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNode;
-import org.w3c.dom.Node;
+import org.apache.axiom.om.impl.dom.NodeImpl;
+import org.apache.axiom.om.impl.jaxp.OMSource;
 
 /**
  * Utility class with AXIOM helper methods.
@@ -41,10 +42,10 @@ public class AXIOMUtils {
      */
     public static Source asSource(OMNode node) {
         // Note: Once we depend on JDK 1.6, we could also use StAXSource from JAXP 1.4.
-        if (node instanceof Node) {
-            return new DOMSource((Node)node);
+        if (node instanceof NodeImpl) {
+            return new DOMSource((NodeImpl)node);
         } else {
-            return ((OMContainer)node).getSAXSource(true);
+            return new OMSource((OMElement)node);
         }
     }
 }

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java Mon Dec 19 12:26:15 2011
@@ -104,4 +104,4 @@ public class Replicator {
         log.error(msg, e);
         throw new SynapseException(msg, e);
     }
-}
+}
\ No newline at end of file

Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java Mon Dec 19 12:26:15 2011
@@ -19,18 +19,16 @@
 
 package org.apache.synapse.util.jaxp;
 
-import javax.xml.transform.sax.SAXSource;
-
-import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.impl.jaxp.OMSource;
 
 /**
  * {@link SourceBuilder} implementation that transforms the AXIOM tree to SAX
- * using {@link OMContainer#getSAXSource(boolean)}.
+ * using {@link OMSource}.
  */
 public class AXIOMSourceBuilder implements SourceBuilder {
-    public SAXSource getSource(OMElement node) {
-        return node.getSAXSource(true);
+    public OMSource getSource(OMElement node) {
+        return new OMSource(node);
     }
 
     public void release() {

Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java Mon Dec 19 12:26:15 2011
@@ -114,7 +114,6 @@ public class ClientWorker implements Run
                 responseMsgCtx.setOperationContext(outMsgCtx.getOperationContext());
             }
 
-            responseMsgCtx.setProperty(MessageContext.IN_MESSAGE_CONTEXT, outMsgCtx);
             responseMsgCtx.setServerSide(true);
             responseMsgCtx.setDoingREST(outMsgCtx.isDoingREST());
             responseMsgCtx.setProperty(MessageContext.TRANSPORT_IN, outMsgCtx

Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java Mon Dec 19 12:26:15 2011
@@ -27,8 +27,6 @@ import org.apache.axis2.context.Configur
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.transport.TransportListener;
-import org.apache.axis2.transport.base.endpoint.URLEndpointsConfiguration;
-import org.apache.axis2.transport.base.endpoint.config.URLEndpointsConfigurationFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.http.nio.params.NIOReactorPNames;
@@ -83,9 +81,6 @@ public class ListenerContext {
 
     private HttpParams params = null;
 
-    /** Endpoints configuration for specific HTTP Urls */
-    private URLEndpointsConfiguration endpoints = null;
-
     public ListenerContext(ConfigurationContext cfgCtx,
                            TransportInDescription transportIn,
                            boolean ssl) {
@@ -153,12 +148,6 @@ public class ListenerContext {
         }
 
         params = getListenerParameters();
-
-
-        param = transportIn.getParameter(NhttpConstants.ENDPOINTS_CONFIGURATION);
-        if (param != null && param.getValue() != null) {
-            endpoints = new URLEndpointsConfigurationFactory().create(param.getValue().toString());
-        }
     }
 
 /**
@@ -313,10 +302,6 @@ public class ListenerContext {
         return params;
     }
 
-    public URLEndpointsConfiguration getEndpoints() {
-        return endpoints;
-    }
-
     private void handleException(String msg, Exception e) throws AxisFault {
         log.error(msg, e);
         throw new AxisFault(msg, e);

Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java Mon Dec 19 12:26:15 2011
@@ -28,10 +28,7 @@ import org.apache.axis2.context.MessageC
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.transport.RequestResponseTransport;
-import org.apache.axis2.transport.TransportUtils;
 import org.apache.axis2.transport.base.MetricsCollector;
-import org.apache.axis2.transport.base.endpoint.URLEndpoint;
-import org.apache.axis2.transport.base.endpoint.URLEndpointsConfiguration;
 import org.apache.axis2.transport.http.HTTPTransportUtils;
 import org.apache.axis2.util.MessageContextBuilder;
 import org.apache.commons.logging.Log;
@@ -82,8 +79,6 @@ public class ServerWorker implements Run
     private boolean isRestDispatching = true;
     /** WSDL processor for Get requests */
     private HttpGetRequestProcessor httpGetRequestProcessor = null;
-
-    private URLEndpointsConfiguration endpointsConfiguration = null;
     
     private static final String SOAPACTION   = "SOAPAction";
     private static final String LOCATION     = "Location";
@@ -128,7 +123,6 @@ public class ServerWorker implements Run
         this.msgContext = createMessageContext(request);
         this.isRestDispatching = listenerContext.isRestDispatching();
         this.httpGetRequestProcessor = listenerContext.getHttpGetRequestProcessor();
-        this.endpointsConfiguration = listenerContext.getEndpoints();
     }
 
     /**
@@ -418,47 +412,19 @@ public class ServerWorker implements Run
             String charSetEncoding = BuilderUtil.getCharSetEncoding(contentTypeStr);
             msgContext.setProperty(
                     Constants.Configuration.CHARACTER_SET_ENCODING, charSetEncoding);
-            boolean eprFound = false;
-            if (endpointsConfiguration != null) {
-                URLEndpoint epr = endpointsConfiguration.getEndpoint(request.getRequestLine().getUri());
-                if (epr != null) {
-                    eprFound = true;
-                    String type = TransportUtils.getContentType(contentTypeStr, msgContext);
-                    msgContext.setProperty(Constants.Configuration.MESSAGE_TYPE, type);
-                    epr.setParameters(msgContext);
-
-                    Builder builder = epr.getBuilder(type);
-                    if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
-                        RESTUtil.processPOSTRequest(msgContext, is, os,
-                                request.getRequestLine().getUri(), contentType, builder, isRestDispatching);
-                    } else {
-
-                        Header soapAction = request.getFirstHeader(SOAPACTION);
-                        HTTPTransportUtils.processHTTPPostRequest(
-                                msgContext, is,
-                                os,
-                                contentTypeStr, builder,
-                                (soapAction != null ? soapAction.getValue() : null),
-                                request.getRequestLine().getUri());
-                    }
-                }
-            }
 
-            if (!eprFound) {
-                if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
-                    RESTUtil.processPOSTRequest(msgContext, is, os,
-                            request.getRequestLine().getUri(), contentType, isRestDispatching);
-                } else {
-
-                    Header soapAction = request.getFirstHeader(SOAPACTION);
-                    HTTPTransportUtils.processHTTPPostRequest(
-                            msgContext, is,
-                            os,
-                            contentTypeStr,
-                            (soapAction != null ? soapAction.getValue() : null),
-                            request.getRequestLine().getUri());
-                }
+            if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
+                RESTUtil.processPOSTRequest(msgContext, is, os,
+                        request.getRequestLine().getUri(), contentType, isRestDispatching);
+            } else {
 
+                Header soapAction  = request.getFirstHeader(SOAPACTION);
+                HTTPTransportUtils.processHTTPPostRequest(
+                        msgContext, is,
+                        os,
+                        contentTypeStr,
+                        (soapAction != null  ? soapAction.getValue()  : null),
+                        request.getRequestLine().getUri());
             }
         } catch (AxisFault e) {
             handleException("Error processing POST request ", e);
@@ -498,40 +464,15 @@ public class ServerWorker implements Run
      */
     private void processGetAndDelete(String method) {
         try {
-            Header contentType = request.getFirstHeader(HTTP.CONTENT_TYPE);
-            String contentTypeStr = contentType != null ?
-                    contentType.getValue() : inferContentType();
-
-            boolean eprFound = false;
-            if (endpointsConfiguration != null) {
-                URLEndpoint epr = endpointsConfiguration.getEndpoint(request.getRequestLine().getUri());
-                if (epr != null) {
-                    eprFound = true;
-                    String type = TransportUtils.getContentType(contentTypeStr, msgContext);
-                    msgContext.setProperty(Constants.Configuration.MESSAGE_TYPE, type);
-
-                    epr.setParameters(msgContext);
-
-                    Builder builder = epr.getBuilder(type);
-                    RESTUtil.processGetAndDeleteRequest(
-                            msgContext, os, request.getRequestLine().getUri(),
-                            request.getFirstHeader(HTTP.CONTENT_TYPE), builder,
-                            method, isRestDispatching);
-                }
-            }
-
-            if (!eprFound) {
-                RESTUtil.processGetAndDeleteRequest(
-                        msgContext, os, request.getRequestLine().getUri(),
-                        request.getFirstHeader(HTTP.CONTENT_TYPE), method, isRestDispatching);
-            }
+            RESTUtil.processGetAndDeleteRequest(
+                    msgContext, os, request.getRequestLine().getUri(),
+                    request.getFirstHeader(HTTP.CONTENT_TYPE), method, isRestDispatching);
             // do not let the output stream close (as by default below) since
             // we are serving this GET/DELETE request through the Synapse engine
         } catch (AxisFault axisFault) {
             handleException("Error processing " + method + " request for: " +
                     request.getRequestLine().getUri(), axisFault);
         }
-
     }
 
     private void handleException(String msg, Exception e) {

Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java Mon Dec 19 12:26:15 2011
@@ -141,33 +141,7 @@ public class RESTUtil {
                 contentType);
     }
 
-    /**
-     * Processes the HTTP GET / DELETE request and builds the SOAP info-set of the REST message
-     *
-     * @param msgContext        The MessageContext of the Request Message
-     * @param out               The output stream of the response
-     * @param requestURI        The URL that the request came to
-     * @param contentTypeHeader The contentType header of the request
-     * @param builder           The message builder to use
-     * @param httpMethod        The http method of the request
-     * @param dispatching   Weather we should do service dispatching
-     * @throws AxisFault - Thrown in case a fault occurs
-     */
-    public static void processGetAndDeleteRequest(MessageContext msgContext, OutputStream out,
-                                                  String requestURI, Header contentTypeHeader,
-                                                  Builder builder, String httpMethod,
-                                                  boolean dispatching)
-            throws AxisFault {
-
-        String contentType = contentTypeHeader != null ? contentTypeHeader.getValue() : null;
-
-        prepareMessageContext(msgContext, requestURI, httpMethod, out, contentType, dispatching);
-
-        msgContext.setProperty(NhttpConstants.NO_ENTITY_BODY, Boolean.TRUE);
 
-        org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(msgContext, out,
-                contentType, builder);
-    }
 
     /**
      * Processes the HTTP GET request and builds the SOAP info-set of the REST message
@@ -218,29 +192,7 @@ public class RESTUtil {
                 contentType);
     }
 
-    /**
-     * Processes the HTTP POST request and builds the SOAP info-set of the REST message
-     *
-     * @param msgContext        The MessageContext of the Request Message
-     * @param is                The  input stream of the request
-     * @param os                The output stream of the response
-     * @param requestURI        The URL that the request came to
-     * @param contentTypeHeader The contentType header of the request
-     * @param builder           The message builder to use
-     * @param dispatching  Weather we should do dispatching
-     * @throws AxisFault - Thrown in case a fault occurs
-     */
-    public static void processPOSTRequest(MessageContext msgContext, InputStream is,
-                                          OutputStream os, String requestURI,
-                                          Header contentTypeHeader, Builder builder,
-                                          boolean dispatching) throws AxisFault {
 
-        String contentType = contentTypeHeader != null ? contentTypeHeader.getValue() : null;
-        prepareMessageContext(msgContext, requestURI, HTTPConstants.HTTP_METHOD_POST,
-                os, contentType, dispatching);
-        org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(msgContext, is, os,
-                contentType, builder);
-    }
 
     /**
      * prepare message context prior to call axis2 RestUtils

Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java Mon Dec 19 12:26:15 2011
@@ -23,6 +23,7 @@ import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.apache.axis2.transport.testkit.ManagedTestSuite;
+import org.apache.axis2.transport.testkit.axis2.SimpleTransportDescriptionFactory;
 import org.apache.axis2.transport.testkit.axis2.TransportDescriptionFactory;
 import org.apache.axis2.transport.testkit.http.HttpTransportTestSuiteBuilder;
 
@@ -33,8 +34,9 @@ public class HttpCoreNIOListenerTest ext
         // These tests don't work because of a problem similar to SYNAPSE-418
         suite.addExclude("(test=EchoXML)");
         
-        TransportDescriptionFactory tdfNIO = new HttpTransportDescriptionFactory();
-        
+        TransportDescriptionFactory tdfNIO =
+                new SimpleTransportDescriptionFactory("http", HttpCoreNIOListener.class,
+                HttpCoreNIOSender.class);
         HttpTransportTestSuiteBuilder builder = new HttpTransportTestSuiteBuilder(suite, tdfNIO);
         
         builder.addAxisTestClientConfigurator(new HttpAxisTestClientConfigurator(false));

Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java Mon Dec 19 12:26:15 2011
@@ -57,8 +57,8 @@ public class PipeEndpoint extends Datagr
     }
 
     @Override
-	public EndpointReference[] getEndpointReferences(AxisService service, String ip) {
+	public EndpointReference[] getEndpointReferences(String ip) {
 		return new EndpointReference[] { new EndpointReference("pipe://" + pipe.getAbsolutePath()
 		        + "?contentType=" + getContentType()) };
 	}
-}
+}
\ No newline at end of file

Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java Mon Dec 19 12:26:15 2011
@@ -104,7 +104,7 @@ public class PipeEndpointListener implem
                         readBuffer.rewind();
                     }
                     byte[] message = decoder.getNext();
-                    callback.receive(endpoint, message, message.length, null);
+                    callback.receive(endpoint, message, message.length);
                 }
             }
         }

Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java Mon Dec 19 12:26:15 2011
@@ -26,6 +26,8 @@ import org.apache.axis2.transport.base.M
 import org.apache.axis2.transport.base.ParamUtils;
 import org.apache.axis2.transport.base.datagram.AbstractDatagramTransportListener;
 import org.apache.axis2.transport.base.datagram.DatagramDispatcherCallback;
+import org.apache.axis2.context.ConfigurationContext;
+
 
 /**
  * Transport listener for UNIX pipes.
@@ -53,10 +55,10 @@ import org.apache.axis2.transport.base.d
  */
 public class PipeListener extends AbstractDatagramTransportListener<PipeEndpoint> implements ManagementSupport {
     private Protocol protocol;
-    
+
     @Override
-    protected void doInit() throws AxisFault {
-        TransportInDescription transportIn = getTransportInDescription();
+    public void init(ConfigurationContext cfgCtx, TransportInDescription transportIn) throws AxisFault {
+        super.init(cfgCtx, transportIn);
         String protocolClassName = ParamUtils.getRequiredParam(transportIn, "protocol");
         Class<? extends Protocol> protocolClass;
         try {
@@ -87,4 +89,4 @@ public class PipeListener extends Abstra
         endpoint.setProtocol(protocol);
         return endpoint;
     }
-}
+}
\ No newline at end of file

Modified: synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java (original)
+++ synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java Mon Dec 19 12:26:15 2011
@@ -20,7 +20,6 @@ package org.apache.synapse.transport.vfs
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.ParameterInclude;
 import org.apache.axis2.transport.base.AbstractPollTableEntry;
 import org.apache.axis2.transport.base.ParamUtils;
@@ -103,11 +102,12 @@ public class PollTableEntry extends Abst
             return failedRecordTimestampFormat;
       }
 
-      @Override
-    public EndpointReference[] getEndpointReferences(AxisService service, String ip) {
+    @Override
+    public EndpointReference[] getEndpointReferences(String ip) {
         return new EndpointReference[] { new EndpointReference("vfs:" + fileURI) };
     }
 
+
     public String getFileURI() {
         return fileURI;
     }

Modified: synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java Mon Dec 19 12:26:15 2011
@@ -24,7 +24,9 @@ import org.apache.axis2.Constants;
 import org.apache.axis2.builder.Builder;
 import org.apache.axis2.builder.BuilderUtil;
 import org.apache.axis2.builder.SOAPBuilder;
+import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.format.DataSourceMessageBuilder;
 import org.apache.axis2.format.ManagedDataSource;
@@ -128,15 +130,15 @@ public class VFSTransportListener extend
     private volatile int removeTaskState = STATE_STOPPED;
 
     @Override
-    protected void doInit() throws AxisFault {
-        super.doInit();
+    public void init(ConfigurationContext cfgCtx, TransportInDescription trpInDesc)
+        throws AxisFault {
+        super.init(cfgCtx, trpInDesc);
         try {
             StandardFileSystemManager fsm = new StandardFileSystemManager();
             fsm.setConfiguration(getClass().getClassLoader().getResource("providers.xml"));
             fsm.init();
-            this.workerPool = super.workerPool;
             fsManager = fsm;
-            Parameter lockFlagParam = getTransportInDescription().getParameter(VFSConstants.TRANSPORT_FILE_LOCKING);
+            Parameter lockFlagParam = trpInDesc.getParameter(VFSConstants.TRANSPORT_FILE_LOCKING);
             if (lockFlagParam != null) {
                 String strLockingFlag = lockFlagParam.getValue().toString();
                 // by-default enabled, if explicitly specified as "disable" make it disable

Modified: synapse/branches/2.1/pom.xml
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/pom.xml?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/pom.xml (original)
+++ synapse/branches/2.1/pom.xml Mon Dec 19 12:26:15 2011
@@ -824,9 +824,9 @@
         <jms-1.1-spec.version>1.1</jms-1.1-spec.version>
 
         <!-- Axis2 and its dependencies -->
-        <axis2.version>1.7.0-SNAPSHOT</axis2.version>
-        <axis2.transport.version>1.7.0-SNAPSHOT</axis2.transport.version>
-        <axiom.version>1.2.13-SNAPSHOT</axiom.version>
+        <axis2.version>1.6.1</axis2.version>
+        <axis2.transport.version>1.0.0</axis2.transport.version>
+        <axiom.version>1.2.12</axiom.version>
         <xml_schema.version>1.4.7</xml_schema.version>
         <xml_apis.version>1.3.04</xml_apis.version>
         <wsdl4j.version>1.6.2</wsdl4j.version>
@@ -836,7 +836,7 @@
         <!-- addressing, rampart -->
         <addressing.version>${axis2.version}</addressing.version>
         <rampart.version>1.6.1</rampart.version>
-        <sandesha2.version>1.7.0-SNAPSHOT</sandesha2.version>
+        <sandesha2.version>1.6.1</sandesha2.version>
         <wss4j.version>1.5.12</wss4j.version>
         <jruby.version>1.3.0</jruby.version>
         <xmlsec.version>1.4.5</xmlsec.version>
@@ -871,9 +871,9 @@
 
         <!-- dependencies of Synapse extensions module -->
         <wso2commons.version>1.2</wso2commons.version>
-        <wso2caching.version>3.5.0</wso2caching.version>
-        <wso2throttle.version>SNAPSHOT</wso2throttle.version>
-        <wso2eventing-api.version>SNAPSHOT</wso2eventing-api.version>
+        <wso2caching.version>3.4.0</wso2caching.version>
+        <wso2throttle.version>3.2.0</wso2throttle.version>
+        <wso2eventing-api.version>2.1</wso2eventing-api.version>
         <xbean.version>2.2.0</xbean.version>
         <bsf.version>3.0</bsf.version>
         <groovy.version>1.1-rc-1</groovy.version>