You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/02/07 07:26:44 UTC

svn commit: r504446 - in /webservices/axis2/trunk/java/modules: integration/test/org/apache/axis2/engine/ kernel/src/org/apache/axis2/context/ kernel/src/org/apache/axis2/deployment/ kernel/src/org/apache/axis2/engine/ kernel/src/org/apache/axis2/i18n/...

Author: deepal
Date: Tue Feb  6 22:26:43 2007
New Revision: 504446

URL: http://svn.apache.org/viewvc?view=rev&rev=504446
Log:
fixing AXIS2-2009
  - Made the necessary changes to TransportListener API
  - Improved the session handling (somehow it had change very in-logical manner , so I fixed that)
  - removed unwanted null checking (we do not need to check the null ,when we create the object at the class level)
  - We do not need to have a parameter to control transport session handling
  - format the code a bit

Modified:
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/CallUnregisteredServiceTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/ServiceGroupContextTest.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/InstanceDispatcher.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSListener.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
    webservices/axis2/trunk/java/modules/webapp/conf/web.xml

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/CallUnregisteredServiceTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/CallUnregisteredServiceTest.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/CallUnregisteredServiceTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/CallUnregisteredServiceTest.java Tue Feb  6 22:26:43 2007
@@ -80,7 +80,7 @@
             fail("The test must fail due to wrong service Name");
 
         } catch (AxisFault e) {
-            assertTrue(e.getMessage().indexOf("service could not be found") >= 0);
+            assertTrue(e.getMessage().indexOf("Service not found for the") >= 0);
             tearDown();
             return;
         }

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java Tue Feb  6 22:26:43 2007
@@ -29,6 +29,8 @@
 import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.*;
 import org.apache.axis2.engine.util.TestConstants;
 import org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver;
@@ -91,22 +93,23 @@
         tIn.setReceiver(new TransportListener() {
 
             public void init(ConfigurationContext axisConf, TransportInDescription transprtIn) {
-                //To change body of implemented methods use File | Settings | File Templates.
             }
 
             public void start() {
-                //To change body of implemented methods use File | Settings | File Templates.
             }
 
             public void stop() {
-                //To change body of implemented methods use File | Settings | File Templates.
             }
 
             public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
-                return null;  //To change body of implemented methods use File | Settings | File Templates.
+                return null;
             }
 
             public EndpointReference[] getEPRsForService(String serviceName, String ip){
+                return null;
+            }
+
+            public SessionContext getSessionContext(MessageContext messageContext) {
                 return null;
             }
         });

Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/ServiceGroupContextTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/ServiceGroupContextTest.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/ServiceGroupContextTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/ServiceGroupContextTest.java Tue Feb  6 22:26:43 2007
@@ -1,6 +1,5 @@
 package org.apache.axis2.engine;
 
-import junit.framework.TestCase;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import org.apache.axiom.om.OMAbstractFactory;
@@ -19,8 +18,6 @@
 import org.apache.axis2.integration.UtilServer;
 import org.apache.axis2.integration.UtilServerBasedTestCase;
 import org.apache.axis2.util.Utils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 
 import javax.xml.namespace.QName;
 
@@ -60,7 +57,6 @@
     protected EndpointReference targetEPR = new EndpointReference("http://127.0.0.1:" +
             (UtilServer.TESTING_PORT) +
             "/axis2/services/RequestCounter");
-	private static final Log log = LogFactory.getLog(ServiceGroupContextTest.class);
     protected QName serviceName = new QName("RequestCounter");
     protected QName operationName = new QName("getRequestCount");
     protected QName transportName = new QName("http://localhost/my", "NullTransport");
@@ -76,7 +72,6 @@
 //        service.setScope(Constants.SCOPE_TRANSPORT_SESSION);
         service.setScope(Constants.SCOPE_SOAP_SESSION);
         UtilServer.deployService(service);
-        UtilServer.getConfigurationContext().getAxisConfiguration().setManageTransportSession(true);
     }
 
     protected void tearDown() throws Exception {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java Tue Feb  6 22:26:43 2007
@@ -20,13 +20,13 @@
 import org.apache.axiom.om.util.UUIDGenerator;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
-import org.apache.axis2.description.*;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.AxisServiceGroup;
+import org.apache.axis2.description.Parameter;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.DependencyManager;
 import org.apache.axis2.engine.ListenerManager;
 import org.apache.axis2.i18n.Messages;
-import org.apache.axis2.transport.http.HTTPConstants;
-import org.apache.axis2.util.SessionUtils;
 import org.apache.axis2.util.threadpool.ThreadFactory;
 import org.apache.axis2.util.threadpool.ThreadPool;
 
@@ -93,14 +93,12 @@
      * create a new service context for the service
      * </pre>
      *
-     * @param messageContext
+     * @param messageContext : MessageContext
+     * @throws org.apache.axis2.AxisFault : If something goes wrong
      */
     public void fillServiceContextAndServiceGroupContext(
             MessageContext messageContext)
             throws AxisFault {
-        String serviceGroupContextId = messageContext.getServiceGroupContextId();
-        SessionContext sessionContext = messageContext.getSessionContext();
-
         // by this time service group context id must have a value. Either from transport or from addressing
         ServiceGroupContext serviceGroupContext;
         ServiceContext serviceContext = messageContext.getServiceContext();
@@ -108,94 +106,53 @@
         AxisService axisService = messageContext.getAxisService();
 
         if (serviceContext == null) {
-            if (Constants.SCOPE_APPLICATION.equals(axisService.getScope())) {
+            String scope = axisService.getScope();
+            if (Constants.SCOPE_APPLICATION.equals(scope)) {
                 String serviceGroupName = ((AxisServiceGroup) axisService.getParent()).getServiceGroupName();
-                serviceGroupContext = null;
-
-                if (applicationSessionServiceGroupContextTable != null) {
-                    serviceGroupContext = (ServiceGroupContext) applicationSessionServiceGroupContextTable.get(
-                            serviceGroupName);
-                }
-
+                serviceGroupContext = (ServiceGroupContext) applicationSessionServiceGroupContextTable.get(
+                        serviceGroupName);
                 if (serviceGroupContext == null) {
                     AxisServiceGroup axisServiceGroup = messageContext.getAxisServiceGroup();
                     if (axisServiceGroup == null) {
                         axisServiceGroup = (AxisServiceGroup) axisService.getParent();
+                        messageContext.setAxisServiceGroup(axisServiceGroup);
                     }
                     serviceGroupContext = new ServiceGroupContext(messageContext.getConfigurationContext(),
                             axisServiceGroup);
-
-                    if (applicationSessionServiceGroupContextTable == null) {
-                        applicationSessionServiceGroupContextTable = new Hashtable();
-                    }
                     applicationSessionServiceGroupContextTable.put(serviceGroupName, serviceGroupContext);
-
                 }
-                serviceContext = serviceGroupContext.getServiceContext(axisService);
-
-            } else if (!isNull(serviceGroupContextId)
-                    && (getServiceGroupContext(serviceGroupContextId, messageContext) != null)) {
-
-                // SGC is already there
-                serviceGroupContext =
-                        getServiceGroupContext(serviceGroupContextId, messageContext);
-                serviceContext =
-                        serviceGroupContext.getServiceContext(axisService);
-            } else {
-
-                // either the key is null or no SGC is found from the give key
-                if (isNull(serviceGroupContextId)) {
-                    serviceGroupContextId = UUIDGenerator.getUUID();
-                    messageContext.setServiceGroupContextId(serviceGroupContextId);
-                }
-
-                if (messageContext.getAxisService() != null) {
+                messageContext.setServiceGroupContext(serviceGroupContext);
+                messageContext.setServiceContext(serviceGroupContext.getServiceContext(axisService));
+            } else if (Constants.SCOPE_SOAP_SESSION.equals(scope)) {
+                String serviceGroupContextId = messageContext.getServiceGroupContextId();
+                if (serviceGroupContextId != null) {
+                    serviceGroupContext = getServiceGroupContextFromSoapSessionTable(
+                            serviceGroupContextId, messageContext);
+                    if (serviceGroupContext == null) {
+                        throw new AxisFault("Unable to find corresponding context" +
+                                " for the serviceGroupId: " + serviceGroupContextId);
+                    }
+                } else {
                     AxisServiceGroup axisServiceGroup = (AxisServiceGroup) axisService.getParent();
-
                     serviceGroupContext = new ServiceGroupContext(this, axisServiceGroup);
                     serviceContext = serviceGroupContext.getServiceContext(axisService);
-
                     // set the serviceGroupContextID
+                    serviceGroupContextId = UUIDGenerator.getUUID();
                     serviceGroupContext.setId(serviceGroupContextId);
-                } else {
-                    throw new AxisFault(Messages.getMessage("servicenotfound"));
-                }
-            }
-
-            // If the current axis service's scope is application. Then, whatever be the scope for
-            // the other services, the maxScope will be application. So no need to calculate the maxscope.
-            if (!Constants.SCOPE_APPLICATION.equals(axisService.getScope())) {
-                /**
-                 * 1. Check the max scope of the service group , if it is grater than TransportSession
-                 *    then need to store in configurationContext
-                 * 2. Else need to store in SessionContext , and need to store both service context and
-                 *    service group context
-                 */
-                String maxScope = SessionUtils.calculateMaxScopeForServiceGroup(serviceGroupContext.getDescription());
-                if (Constants.SCOPE_SOAP_SESSION.equals(maxScope)) {
-                    registerServiceGroupContext(serviceGroupContext);
-                } else if (Constants.SCOPE_TRANSPORT_SESSION.equals(maxScope)) {
-                    if (sessionContext != null) {
-                        String serviceGroupName = serviceGroupContext.getDescription().getServiceGroupName();
-                        sessionContext.addServiceGroupContext(serviceGroupContext, serviceGroupName);
-                        sessionContext.addServiceContext(serviceContext);
-                    }
-                }
-                messageContext.setServiceContext(serviceContext);
-                if (Constants.SCOPE_REQUEST.equals(maxScope)) {
-                    messageContext.setServiceGroupContextId(null);
-                } else {
-                    messageContext.setServiceGroupContext(serviceGroupContext);
+                    messageContext.setServiceGroupContextId(serviceGroupContextId);
+                    registerServiceGroupContextintoSoapSessionTable(serviceGroupContext);
                 }
-            } else {
-                messageContext.setServiceContext(serviceContext);
                 messageContext.setServiceGroupContext(serviceGroupContext);
+                messageContext.setServiceContext(serviceGroupContext.getServiceContext(axisService));
+            } else if (Constants.SCOPE_REQUEST.equals(scope)) {
+                AxisServiceGroup axisServiceGroup = (AxisServiceGroup) axisService.getParent();
+                serviceGroupContext = new ServiceGroupContext(this, axisServiceGroup);
+                messageContext.setServiceGroupContext(serviceGroupContext);
+                serviceContext = serviceGroupContext.getServiceContext(axisService);
+                messageContext.setServiceContext(serviceContext);
+                messageContext.getOperationContext().setParent(serviceContext);
             }
         }
-        if (sessionContext != null) {
-            // when you come here operation context MUST already been assigned to the message context
-            serviceContext.setProperty(HTTPConstants.COOKIE_STRING, sessionContext.getCookieID());
-        }
         messageContext.getOperationContext().setParent(serviceContext);
     }
 
@@ -208,20 +165,21 @@
      * @param mepContext
      */
     public boolean registerOperationContext(String messageID,
-                                         OperationContext mepContext) {
-        boolean alreadyInMap = false;
+                                            OperationContext mepContext) {
+        boolean alreadyInMap;
         mepContext.setKey(messageID);
         synchronized (operationContextMap) {
             alreadyInMap = operationContextMap.containsKey(messageID);
-            if(!alreadyInMap){
+            if (!alreadyInMap) {
                 this.operationContextMap.put(messageID, mepContext);
             }
         }
         return (!alreadyInMap);
     }
-    
+
     /**
      * Unregisters the operation context associated with the given messageID
+     *
      * @param key
      */
     public void unregisterOperationContext(String key) {
@@ -230,18 +188,11 @@
         }
     }
 
-    public void registerServiceGroupContext(ServiceGroupContext serviceGroupContext) {
+    public void registerServiceGroupContextintoSoapSessionTable(ServiceGroupContext serviceGroupContext) {
         String id = serviceGroupContext.getId();
-
-        if (serviceGroupContextMap == null) {
-            serviceGroupContextMap = new Hashtable();
-        }
-
-        if ((serviceGroupContextMap.isEmpty()) || (serviceGroupContextMap.get(id) == null)) {
-            serviceGroupContextMap.put(id, serviceGroupContext);
-            serviceGroupContext.touch();
-            serviceGroupContext.setParent(this);
-        }
+        serviceGroupContextMap.put(id, serviceGroupContext);
+        serviceGroupContext.touch();
+        serviceGroupContext.setParent(this);
         // this is the best time to clean up the SGCtxts since are not being used anymore
         cleanupServiceGroupContexts();
     }
@@ -341,41 +292,14 @@
         return null;
     }
 
-    public ServiceGroupContext getServiceGroupContext(String serviceGroupContextId,
-                                                      MessageContext msgContext) {
-
-        ServiceGroupContext serviceGroupContext = null;
-
-        if (serviceGroupContextMap != null) {
-            serviceGroupContext = (ServiceGroupContext) serviceGroupContextMap.get(serviceGroupContextId);
-
-            if (serviceGroupContext != null) {
-                serviceGroupContext.touch();
-            }
-        }
+    public ServiceGroupContext getServiceGroupContextFromSoapSessionTable(String serviceGroupContextId,
+                                                                          MessageContext msgContext) {
+        ServiceGroupContext serviceGroupContext =
+                (ServiceGroupContext) serviceGroupContextMap.get(serviceGroupContextId);
 
-        if (serviceGroupContext == null
-                && msgContext != null
-                && msgContext.getSessionContext() != null) {
-            String serviceGroupName = msgContext.getAxisServiceGroup().getServiceGroupName();
-            serviceGroupContext = msgContext.getSessionContext().getServiceGroupContext(
-                    serviceGroupName);
-        }
-
-        if (serviceGroupContext == null && msgContext != null) {
-            AxisService axisService = msgContext.getAxisService();
-            if (axisService != null) {
-                AxisServiceGroup asg = (AxisServiceGroup) axisService.getParent();
-                if (asg != null) {
-
-                    if (applicationSessionServiceGroupContextTable != null) {
-                        serviceGroupContext = (ServiceGroupContext)
-                                applicationSessionServiceGroupContextTable.get(asg.getServiceGroupName());
-                    }
-                }
-            }
+        if (serviceGroupContext != null) {
+            serviceGroupContext.touch();
         }
-
         return serviceGroupContext;
     }
 
@@ -428,10 +352,6 @@
         return threadPool;
     }
 
-    private boolean isNull(String string) {
-        return "".equals(string) || (string == null);
-    }
-
     /**
      * @param configuration
      */
@@ -592,6 +512,8 @@
 
     /**
      * This will be used to fetch the serviceGroupContextTimoutInterval from any place available.
+     *
+     * @return long
      */
     public long getServiceGroupContextTimoutInterval() {
         Integer serviceGroupContextTimoutIntervalParam =

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContextFactory.java Tue Feb  6 22:26:43 2007
@@ -63,8 +63,6 @@
         }
         //To override context path
         setContextPaths(axisConfig, configContext);
-        //To check whether transport level session management is require or not
-        configureTransportSessionManagement(axisConfig);
         init(configContext);
         axisConfigurator.engageGlobalModules();
         axisConfigurator.loadServices();
@@ -98,15 +96,6 @@
             }
         }
     }
-
-    private static void configureTransportSessionManagement(AxisConfiguration axisConfig) {
-        Parameter manageSession = axisConfig.getParameter(Constants.MANAGE_TRANSPORT_SESSION);
-        if (manageSession != null) {
-            String value = ((String) manageSession.getValue()).trim();
-            axisConfig.setManageTransportSession(Boolean.valueOf(value).booleanValue());
-        }
-    }
-
     private static void setContextPaths(AxisConfiguration axisConfig,
                                         ConfigurationContext configContext) {
         // Checking for context path
@@ -191,6 +180,7 @@
 
     /**
      * Initializes modules and creates Transports.
+     * @param configContext ConfigurationContext
      */
 
     private static void init(ConfigurationContext configContext) {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ServiceGroupContext.java Tue Feb  6 22:26:43 2007
@@ -499,7 +499,7 @@
         this.setParent(cc);
 
         // register with the parent
-        cc.registerServiceGroupContext(this);
+        cc.registerServiceGroupContextintoSoapSessionTable(this);
 
 
         //-------------------------------------------------------

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/SessionContext.java Tue Feb  6 22:26:43 2007
@@ -87,31 +87,19 @@
     }
 
     public ServiceContext getServiceContext(AxisService axisService) {
-        if (serviceContextMap == null) {
-            serviceContextMap = new HashMap();
-        }
         return (ServiceContext) serviceContextMap.get(axisService.getName());
     }
 
     public void addServiceContext(ServiceContext serviceContext) {
-        if (serviceContextMap == null) {
-            serviceContextMap = new HashMap();
-        }
         serviceContextMap.put(serviceContext.getAxisService().getName(), serviceContext);
     }
 
-    public void addServiceGroupContext(ServiceGroupContext serviceGroupContext,
-                                       String serviceGroupID) {
-        if (serviceGroupContextMap == null) {
-            serviceGroupContextMap = new HashMap();
-        }
+    public void addServiceGroupContext(ServiceGroupContext serviceGroupContext) {
+        String  serviceGroupID = serviceGroupContext.getDescription().getServiceGroupName();
         serviceGroupContextMap.put(serviceGroupID, serviceGroupContext);
     }
 
     public ServiceGroupContext getServiceGroupContext(String serviceGroupID) {
-        if (serviceGroupContextMap == null) {
-            serviceGroupContextMap = new HashMap();
-        }
         return (ServiceGroupContext) serviceGroupContextMap.get(serviceGroupID);
     }
 
@@ -227,7 +215,7 @@
 
         HashMap tmpHashMap = null;
 
-        if ((tmpMap != null) && (tmpMap.isEmpty()==false))
+        if ((tmpMap != null) && (!tmpMap.isEmpty()))
         {
             tmpHashMap = new HashMap(tmpMap);
         }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Tue Feb  6 22:26:43 2007
@@ -386,14 +386,6 @@
 
         while (services.hasNext()) {
             AxisService axisService = (AxisService) services.next();
-            String scope = axisService.getScope();
-            if (Constants.SCOPE_TRANSPORT_SESSION.equals(scope)) {
-                if (!axisConfig.isManageTransportSession()) {
-                    throw new DeploymentException("You can not deploy the service " +
-                            "in transport session , since transport session management" +
-                            " disabled in axis2.xml change manageTransportSession parameter value to true");
-                }
-            }
             axisService.setUseDefaultChains(false);
 
             axisService.setFileName(serviceLocation);

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Feb  6 22:26:43 2007
@@ -126,9 +126,6 @@
 
     private ClassLoader systemClassLoader;
 
-    // to keep track of need to manage transport session or not
-    private boolean manageTransportSession;
-
     //to keep tarck of system start or not
     private boolean start;
 
@@ -888,14 +885,6 @@
         }
         service.setActive(true);
         notifyObservers(AxisEvent.SERVICE_START, service);
-    }
-
-    public boolean isManageTransportSession() {
-        return manageTransportSession;
-    }
-
-    public void setManageTransportSession(boolean manageTransportSession) {
-        this.manageTransportSession = manageTransportSession;
     }
 
     public List getModulesForPolicyNamesapce(String namesapce) {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/InstanceDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/InstanceDispatcher.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/InstanceDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/InstanceDispatcher.java Tue Feb  6 22:26:43 2007
@@ -21,14 +21,19 @@
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
-import org.apache.axis2.transport.http.HTTPConstants;
-import org.apache.axis2.context.*;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.context.SessionContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.AxisServiceGroup;
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.axis2.i18n.Messages;
+import org.apache.axis2.transport.TransportListener;
+import org.apache.axis2.transport.http.HTTPConstants;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.xml.namespace.QName;
 
 /**
@@ -44,7 +49,7 @@
     /**
      * Post Condition : All the Contexts must be populated.
      *
-     * @param msgContext
+     * @param msgContext MessageContext
      * @throws org.apache.axis2.AxisFault
      */
     public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {
@@ -57,29 +62,23 @@
             msgContext.setServiceGroupContextId(
                     ((ServiceGroupContext) serviceContext.getParent()).getId());
 
-            return InvocationResponse.CONTINUE;        
+            return InvocationResponse.CONTINUE;
         }
-
-        if(!Constants.SCOPE_APPLICATION.equals(scope)) {
-            // try to extract sgcId from the message
-            extractServiceGroupContextId(msgContext);
-
-            //trying to get service context from Session context
+        if(Constants.SCOPE_TRANSPORT_SESSION.equals(scope)){
             fillContextsFromSessionContext(msgContext);
+        } else if(Constants.SCOPE_SOAP_SESSION.equals(scope)){
+             extractServiceGroupContextId(msgContext);
         }
 
         AxisOperation axisOperation = msgContext.getAxisOperation();
-
         // 1. look up opCtxt using mc.addressingHeaders.relatesTo[0]
         if (axisOperation == null) {
-          return InvocationResponse.CONTINUE;        
+            return InvocationResponse.CONTINUE;
         }
-
         OperationContext operationContext =
                 axisOperation.findForExistingOperationContext(msgContext);
 
         if (operationContext != null) {
-
             // register operation context and message context
 //            axisOperation.registerOperationContext(msgContext, operationContext);
             axisOperation.registerMessageContext(msgContext, operationContext);
@@ -105,10 +104,11 @@
                         msgContext);
             }
         }
+        serviceContext = msgContext.getServiceContext();
         if (serviceContext != null) {
             serviceContext.setMyEPR(msgContext.getTo());
         }
-        return InvocationResponse.CONTINUE;        
+        return InvocationResponse.CONTINUE;
     }
 
     private void fillContextsFromSessionContext(MessageContext msgContext) throws AxisFault {
@@ -117,36 +117,46 @@
             throw new AxisFault(Messages.getMessage("unabletofindservice"));
         }
         SessionContext sessionContext = msgContext.getSessionContext();
-        String scope = service.getScope();
-        if (Constants.SCOPE_TRANSPORT_SESSION.equals(scope)) {
-            if (sessionContext == null) {
-                Object obj = msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
-                if (obj != null) {
-                    sessionContext = (SessionContext) getSessionContext((HttpServletRequest) obj);
-                    msgContext.setSessionContext(sessionContext);
-                }
-            }
-        }
-        String serviceGroupContextId = msgContext.getServiceGroupContextId();
-        if (serviceGroupContextId != null && sessionContext != null) {
-            //setting service group context which is teken from session context
-            ServiceGroupContext serviceGroupContext = sessionContext.getServiceGroupContext(
-                    serviceGroupContextId);
-            if (serviceGroupContext != null) {
-                //setting service group context
-                msgContext.setServiceGroupContext(serviceGroupContext);
-                // setting Service conetxt
-                msgContext.setServiceContext(serviceGroupContext.getServiceContext(service));
+        if (sessionContext == null) {
+            TransportListener listener = msgContext.getTransportIn().getReceiver();
+            sessionContext = listener.getSessionContext(msgContext);
+            if(sessionContext==null){
+                createAndFillContexts(service, msgContext, sessionContext);
                 return;
             }
         }
+        String serviceGroupName = msgContext.getAxisServiceGroup().getServiceGroupName();
+        ServiceGroupContext serviceGroupContext = sessionContext.getServiceGroupContext(
+                serviceGroupName);
+        if (serviceGroupContext != null) {
+            //setting service group context
+            msgContext.setServiceGroupContext(serviceGroupContext);
+            // setting Service conetxt
+            msgContext.setServiceContext(serviceGroupContext.getServiceContext(service));
+        } else {
+            createAndFillContexts(service, msgContext, sessionContext);
+        }
+        ServiceContext serviceContext = sessionContext.getServiceContext(service);
+        //found the serviceContext from session context , so adding that into msgContext
+        if (serviceContext != null) {
+            msgContext.setServiceContext(serviceContext);
+            serviceContext.setProperty(HTTPConstants.COOKIE_STRING, sessionContext.getCookieID());
+        }
+    }
 
-        if (Constants.SCOPE_TRANSPORT_SESSION.equals(scope) && sessionContext != null) {
-            ServiceContext serviceContext = sessionContext.getServiceContext(service);
-            //found the serviceContext from session context , so adding that into msgContext
-            if (serviceContext != null) {
-                msgContext.setServiceContext(serviceContext);
-            }
+    private void createAndFillContexts(AxisService service,
+                                                     MessageContext msgContext,
+                                                     SessionContext sessionContext) throws AxisFault {
+        ServiceGroupContext serviceGroupContext;
+        AxisServiceGroup axisServiceGroup = (AxisServiceGroup) service.getParent();
+        serviceGroupContext = new ServiceGroupContext(
+                msgContext.getConfigurationContext(), axisServiceGroup);
+        msgContext.setServiceGroupContext(serviceGroupContext);
+        ServiceContext serviceContext = serviceGroupContext.getServiceContext(service);
+        msgContext.setServiceContext(serviceContext);
+        if(sessionContext!=null){
+            sessionContext.addServiceContext(serviceContext);
+            sessionContext.addServiceGroupContext(serviceGroupContext);
         }
     }
 
@@ -160,7 +170,7 @@
             if (serviceGroupId != null) {
                 String groupId = serviceGroupId.getText();
                 ServiceGroupContext serviceGroupContext = msgContext.getConfigurationContext().
-                        getServiceGroupContext(groupId, msgContext);
+                        getServiceGroupContextFromSoapSessionTable(groupId, msgContext);
                 if (serviceGroupContext == null) {
                     throw new AxisFault(Messages.getMessage(
                             "invalidservicegrouoid", groupId));
@@ -168,16 +178,5 @@
                 msgContext.setServiceGroupContextId(serviceGroupId.getText());
             }
         }
-    }
-
-    private Object getSessionContext(HttpServletRequest httpServletRequest) {
-        Object sessionContext =
-                httpServletRequest.getSession(true).getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
-        if (sessionContext == null) {
-            sessionContext = new SessionContext(null);
-            httpServletRequest.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY,
-                    sessionContext);
-        }
-        return sessionContext;
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties Tue Feb  6 22:26:43 2007
@@ -228,7 +228,7 @@
 enginestarted=The Axis engine started.
 mustunderstandfailed=Must Understand check failed {0} : {1}
 receivederrormessage=The system received an error message with the {0} ID. 
-servicenotfoundforepr=The endpoint reference (EPR) for the Service not found is {0}
+servicenotfoundforepr=Service not found for the endpoint reference (EPR) {0}
 operationnotfoundforepr=The endpoint reference (EPR) for the Operation not found is {0} and the WSA Action = {1}
 unabletofindservice=The requested service could not be found -- the operation has been stopped.
 invalidservicegrouoid=The {0} Service Group ID is not valid.

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java Tue Feb  6 22:26:43 2007
@@ -20,6 +20,8 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.TransportInDescription;
 
 /**
@@ -27,8 +29,8 @@
  */
 public interface TransportListener {
 
-    public static final String PARAM_PORT = "port";
-    public static final String HOST_ADDRESS="hostname";
+    String PARAM_PORT = "port";
+    String HOST_ADDRESS="hostname";
 
     void init(ConfigurationContext axisConf, TransportInDescription transprtIn)
             throws AxisFault;
@@ -46,5 +48,13 @@
      */
     EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault;
 
-    public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault;
+    EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault;
+
+    /**
+     * To get the sessionContext transport dependent manner. So that transport listener
+     * can return its own implementation of session managment
+     * @param messageContext : MessageContext which has all the relavent data
+     * @return SessionContext
+     */
+    SessionContext getSessionContext(MessageContext messageContext);
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java Tue Feb  6 22:26:43 2007
@@ -90,16 +90,9 @@
     protected TransportOutDescription transportOut;
 
     protected MessageContext
-            createAndSetInitialParamsToMsgCtxt(HttpServletResponse resp,
-                                               HttpServletRequest req) throws AxisFault {
+    createAndSetInitialParamsToMsgCtxt(HttpServletResponse resp,
+                                       HttpServletRequest req) throws AxisFault {
         MessageContext msgContext = new MessageContext();
-        if (axisConfiguration.isManageTransportSession()) {
-            // We need to create this only if transport session is enabled.
-            Object sessionContext = getSessionContext(req);
-            msgContext.setSessionContext((SessionContext) sessionContext);
-            msgContext.setProperty(SESSION_ID, req.getSession().getId());
-        }
-
         msgContext.setConfigurationContext(configContext);
         msgContext.setTransportIn(transportIn);
         msgContext.setTransportOut(transportOut);
@@ -129,7 +122,7 @@
         }
         try {
             super.destroy();
-        } catch (Exception e){
+        } catch (Exception e) {
             log.info(e.getMessage());
         }
     }
@@ -199,7 +192,7 @@
             } catch (Exception e) {
                 throw new ServletException(e);
             }
-        } else if (!disableREST ) {
+        } else if (!disableREST) {
             MessageContext messageContext = null;
             OutputStream out = resp.getOutputStream();
             try {
@@ -250,7 +243,7 @@
         OutputStream out = res.getOutputStream();
 
         String contentType = req.getContentType();
-        if (!disableREST && isRESTRequest(contentType, req)) {
+        if (!disableREST && isRESTRequest(contentType)) {
             msgContext = createMessageContext(req, res);
             try {
 
@@ -387,8 +380,8 @@
                         org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD,
                         Constants.Configuration.HTTP_METHOD_DELETE);
                 new RESTUtil(configContext).processGetRequest(messageContext,
-                                                              req,
-                                                              resp);
+                        req,
+                        resp);
                 Object contextWritten =
                         messageContext.getOperationContext()
                                 .getProperty(Constants.RESPONSE_WRITTEN);
@@ -426,8 +419,8 @@
                         org.apache.axis2.transport.http.HTTPConstants.HTTP_METHOD,
                         Constants.Configuration.HTTP_METHOD_PUT);
                 new RESTUtil(configContext).processPostRequest(messageContext,
-                                                               req,
-                                                               resp);
+                        req,
+                        resp);
                 Object contextWritten =
                         messageContext.getOperationContext()
                                 .getProperty(Constants.RESPONSE_WRITTEN);
@@ -540,6 +533,7 @@
      *
      * @param config Servlet configuration
      * @throws ServletException
+     * @return ConfigurationContext
      */
     protected ConfigurationContext initConfigContext(ServletConfig config) throws ServletException {
         try {
@@ -567,17 +561,6 @@
         return map;
     }
 
-    protected Object getSessionContext(HttpServletRequest httpServletRequest) {
-        Object sessionContext =
-                httpServletRequest.getSession(true).getAttribute(Constants.SESSION_CONTEXT_PROPERTY);
-        if (sessionContext == null) {
-            sessionContext = new SessionContext(null);
-            httpServletRequest.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY,
-                    sessionContext);
-        }
-        return sessionContext;
-    }
-
     protected Map getTransportHeaders(HttpServletRequest req) {
         return new TransportHeaders(req);
     }
@@ -627,7 +610,7 @@
         EndpointReference soapEndpoint = new EndpointReference("http://" + ip + ":" + port + '/' +
                 configContext.getServiceContextPath() + "/" + serviceName);
 
-        if (!disableREST ) {
+        if (!disableREST) {
             EndpointReference restEndpoint = new EndpointReference("http://" + ip + ":" + port + '/' +
                     configContext.getRESTContextPath() + "/" + serviceName);
             return new EndpointReference[]{soapEndpoint, restEndpoint};
@@ -692,13 +675,31 @@
      * - application/x-www-form-urlencoded
      * as REST content types in this servlet.
      *
-     * @param request
      */
-    private boolean isRESTRequest(String contentType, HttpServletRequest request) {
+    private boolean isRESTRequest(String contentType) {
         return ((contentType == null ||
                 contentType.indexOf(HTTPConstants.MEDIA_TYPE_APPLICATION_XML) > -1 ||
                 contentType.indexOf(HTTPConstants.MEDIA_TYPE_X_WWW_FORM) > -1 ||
                 contentType.indexOf(HTTPConstants.MEDIA_TYPE_MULTIPART_FORM_DATA) > -1));
+    }
+
+
+    public SessionContext getSessionContext(MessageContext messageContext) {
+        HttpServletRequest req = (HttpServletRequest) messageContext.getProperty(
+                HTTPConstants.MC_HTTP_SERVLETREQUEST);
+        SessionContext sessionContext =
+                (SessionContext) req.getSession(true).getAttribute(
+                        Constants.SESSION_CONTEXT_PROPERTY);
+        String sessionId = req.getSession().getId();
+        if (sessionContext == null) {
+            sessionContext = new SessionContext(null);
+            sessionContext.setCookieID(sessionId);
+            req.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY,
+                    sessionContext);
+        }
+        messageContext.setSessionContext(sessionContext);
+        messageContext.setProperty(SESSION_ID, sessionId);
+        return sessionContext;
     }
 
     class ServletRequestResponseTransport implements RequestResponseTransport {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java Tue Feb  6 22:26:43 2007
@@ -40,6 +40,8 @@
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.deployment.DeploymentConstants;
 import org.apache.axis2.description.AxisDescription;
 import org.apache.axis2.description.AxisService;
@@ -344,7 +346,7 @@
         List policyElements = des.getPolicyInclude().getPolicyElements();
         PolicyRegistry registry = des.getPolicyInclude().getPolicyRegistry();
 
-        Object policyComponent = null;
+        Object policyComponent ;
 
         Policy policy = registry.lookup(id);
 
@@ -411,6 +413,23 @@
         public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
             return getEPRsForService(serviceName, ip)[0];
         }
+        public SessionContext getSessionContext(MessageContext messageContext) {
+            HttpServletRequest req = (HttpServletRequest) messageContext.getProperty(
+                    HTTPConstants.MC_HTTP_SERVLETREQUEST);
+            SessionContext sessionContext =
+                    (SessionContext) req.getSession(true).getAttribute(
+                            Constants.SESSION_CONTEXT_PROPERTY);
+            String sessionId = req.getSession().getId();
+            if (sessionContext == null) {
+                sessionContext = new SessionContext(null);
+                sessionContext.setCookieID(sessionId);
+                req.getSession().setAttribute(Constants.SESSION_CONTEXT_PROPERTY,
+                        sessionContext);
+            }
+            messageContext.setSessionContext(sessionContext);
+            messageContext.setProperty(AxisServlet.SESSION_ID, sessionId);
+            return sessionContext;
+    }
 
 
     }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java Tue Feb  6 22:26:43 2007
@@ -29,6 +29,8 @@
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.engine.ListenerManager;
@@ -36,6 +38,7 @@
 import org.apache.axis2.transport.http.server.HttpFactory;
 import org.apache.axis2.transport.http.server.HttpUtils;
 import org.apache.axis2.transport.http.server.SimpleHttpServer;
+import org.apache.axis2.transport.http.server.SessionManager;
 import org.apache.axis2.util.OptionsParser;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -62,6 +65,7 @@
 
     protected ConfigurationContext configurationContext;
     protected HttpFactory httpFactory;
+    private SessionManager sessionManager;
 
     public SimpleHTTPServer() {
     }
@@ -83,6 +87,7 @@
         TransportInDescription httpDescription = new TransportInDescription(new QName(Constants.TRANSPORT_HTTP));
         httpDescription.setReceiver(this);
         httpFactory.getListenerManager().addListener(httpDescription, true);
+        sessionManager = new SessionManager();
     }
 
     /**
@@ -330,5 +335,11 @@
             server.stop();
             System.out.println("[SimpleHTTPServer] Shutdown complete");
         }
+    }
+
+
+    public SessionContext getSessionContext(MessageContext messageContext) {
+        String sessionKey = (String) messageContext.getProperty(HTTPConstants.COOKIE_STRING);
+        return this.sessionManager.getSessionContext(sessionKey);
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java Tue Feb  6 22:26:43 2007
@@ -127,14 +127,10 @@
                     .getTransportIn(new QName(Constants.TRANSPORT_HTTP));
 
             String sessionKey = (String) context.getAttribute(HTTPConstants.COOKIE_STRING);
-            if (this.configurationContext.getAxisConfiguration().isManageTransportSession()) {
-                SessionContext sessionContext = this.sessionManager.getSessionContext(sessionKey);
-                this.msgContext.setSessionContext(sessionContext);
-            }
             this.msgContext.setTransportIn(transportIn);
             this.msgContext.setTransportOut(transportOut);
-            this.msgContext.setServiceGroupContextId(UUIDGenerator.getUUID());
             this.msgContext.setServerSide(true);
+            this.msgContext.setProperty(HTTPConstants.COOKIE_STRING,sessionKey);
             this.msgContext.setProperty(Constants.Configuration.TRANSPORT_IN_URL, reqline.getUri());
 
             // set the transport Headers

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSListener.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/JMSListener.java Tue Feb  6 22:26:43 2007
@@ -33,6 +33,8 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisModule;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.AxisServiceGroup;
@@ -481,5 +483,10 @@
 
     public ConfigurationContext getConfigurationContext() {
         return this.axisConf;
+    }
+
+
+    public SessionContext getSessionContext(MessageContext messageContext) {
+        return null;
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Tue Feb  6 22:26:43 2007
@@ -49,6 +49,7 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.SessionContext;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.description.TransportOutDescription;
@@ -449,4 +450,8 @@
                 .getServiceContextPath() + "/" + serviceName)};
     }
 
+
+    public SessionContext getSessionContext(MessageContext messageContext) {
+        return null;  
+    }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java Tue Feb  6 22:26:43 2007
@@ -30,6 +30,8 @@
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.context.SessionContext;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.engine.ListenerManager;
@@ -215,5 +217,9 @@
             log.debug("Unable to generate EPR for the transport tcp");
             return null;
         }
+    }
+
+    public SessionContext getSessionContext(MessageContext messageContext) {
+        return null;
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java Tue Feb  6 22:26:43 2007
@@ -135,7 +135,7 @@
                 (AxisServiceGroup) axisService.getParent());
 
         serviceGroupContext.setId(serviceGroupContextId);
-        configurationContext.registerServiceGroupContext(serviceGroupContext);
+        configurationContext.registerServiceGroupContextintoSoapSessionTable(serviceGroupContext);
 
         return new ServiceContext(axisService, serviceGroupContext);
     }

Modified: webservices/axis2/trunk/java/modules/webapp/conf/web.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/webapp/conf/web.xml?view=diff&rev=504446&r1=504445&r2=504446
==============================================================================
--- webservices/axis2/trunk/java/modules/webapp/conf/web.xml (original)
+++ webservices/axis2/trunk/java/modules/webapp/conf/web.xml Tue Feb  6 22:26:43 2007
@@ -58,11 +58,11 @@
 
     <error-page>
       <error-code>404</error-code>
-      <location>/axis2-web/Error/error404.jsp</location>
+      <location>Error/error404.jsp</location>
     </error-page>
 
     <error-page>
         <error-code>500</error-code>
-        <location>/axis2-web/Error/error500.jsp</location>
+        <location>Error/error500.jsp</location>
     </error-page>
 </web-app>



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