You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2005/12/01 08:57:47 UTC

svn commit: r350203 [1/3] - in /webservices/axis2/trunk/java/modules: addressing/test-resources/ codegen/test-resources/xmls/ codegen/test/org/apache/axis2/rpc/ core/src/org/apache/axis2/deployment/ core/src/org/apache/axis2/deployment/util/ core/src/o...

Author: deepal
Date: Wed Nov 30 23:55:51 2005
New Revision: 350203

URL: http://svn.apache.org/viewcvs?rev=350203&view=rev
Log:
1.Some Java2WSDL modification
2.Removed all the hard coding dispatching stuff from AxisConfiguration and provide the ability of configuring them in axis2.xml
3.As Glen suggested from today onward we do not treat dispatchers separately.
4.Any one can configure, rather can add handlers into <phaseOrder> element in axis2.xml, have a look at the default axis2.xml in deployment package more info. 
5. Removed dispatching test test case since we are no longer going to support that.

(thx Glen for ur idea)

Removed:
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/dispatch_repo/
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/DispatchingTest.java
Modified:
    webservices/axis2/trunk/java/modules/addressing/test-resources/axis2.xml
    webservices/axis2/trunk/java/modules/codegen/test-resources/xmls/axis2.xml
    webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/rpc/SimpleTest.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisConfigBuilder.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/axis2.xml
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/PhasesInfo.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfigurationImpl.java
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/ConfigWithObservers/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/ParaLockedRepo/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/ServiceGroup/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/hostConfigrepo/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/moduleConfig/axis2.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/server-transport.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/server1.xml
    webservices/axis2/trunk/java/modules/core/test-resources/deployment/serviceGroupRepo/axis2.xml
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/EnginePausingTest.java
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PhaseRuleTest.java
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PreDispatchPhaseRuleTest.java
    webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s2a.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s2a.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s3.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s3.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s4.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s4.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s5.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s5.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s6.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s6.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s7.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/s7.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/sST1.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/sST1.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/secMtom.client.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test-resources/security/secMtom.service.axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/chuncking-enabled-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/commons-http-enabled-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mail/mail-enabled-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mail/mail-enabled-client-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mail/mail-enabled-server-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/MTOM-enabled-axis2.xml
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/MTOM-fileCache-enabled-axis2.xml
    webservices/axis2/trunk/java/modules/samples/resources/security/client.axis2.xml
    webservices/axis2/trunk/java/modules/samples/resources/security/service.axis2.xml
    webservices/axis2/trunk/java/modules/security/test-resources/axis2.xml
    webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/java2wsdl/Java2WOM.java
    webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/java2wsdl/Java2WSDL.java
    webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/java2wsdl/SchemaGenerator.java
    webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/java2wsdl/TypeTable.java

Modified: webservices/axis2/trunk/java/modules/addressing/test-resources/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/test-resources/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/test-resources/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/addressing/test-resources/axis2.xml Wed Nov 30 23:55:51 2005
@@ -15,8 +15,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -24,8 +50,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="addressing"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -34,6 +61,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/codegen/test-resources/xmls/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test-resources/xmls/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test-resources/xmls/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/codegen/test-resources/xmls/axis2.xml Wed Nov 30 23:55:51 2005
@@ -28,8 +28,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -37,6 +63,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -45,6 +74,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/rpc/SimpleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/rpc/SimpleTest.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/rpc/SimpleTest.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/rpc/SimpleTest.java Wed Nov 30 23:55:51 2005
@@ -147,7 +147,6 @@
         TransportOutDescription tOut = new TransportOutDescription(new QName(Constants.TRANSPORT_LOCAL));
         config.addTransportOut(tOut);
 
-        ((AxisConfigurationImpl)config).setDefaultDispatchers();
 
         LocalTransportReceiver.CONFIG_CONTEXT = new ConfigurationContext(config);
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisConfigBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisConfigBuilder.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisConfigBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisConfigBuilder.java Wed Nov 30 23:55:51 2005
@@ -18,20 +18,13 @@
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.deployment.util.PhasesInfo;
-import org.apache.axis2.description.ModuleConfiguration;
-import org.apache.axis2.description.ParameterInclude;
-import org.apache.axis2.description.TransportInDescription;
-import org.apache.axis2.description.TransportOutDescription;
-import org.apache.axis2.engine.AbstractDispatcher;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.axis2.engine.AxisConfigurationImpl;
-import org.apache.axis2.engine.AxisObserver;
-import org.apache.axis2.engine.MessageReceiver;
-import org.apache.axis2.engine.Phase;
+import org.apache.axis2.deployment.util.Utils;
+import org.apache.axis2.description.*;
+import org.apache.axis2.engine.*;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.om.OMAttribute;
 import org.apache.axis2.om.OMElement;
-import org.apache.axis2.phaseresolver.PhaseMetadata;
+import org.apache.axis2.phaseresolver.PhaseException;
 import org.apache.axis2.transport.TransportListener;
 import org.apache.axis2.transport.TransportSender;
 import org.apache.axis2.util.HostConfiguration;
@@ -76,17 +69,6 @@
                         mepAtt.getAttributeValue(), msgrecivere);
             }
 
-            //processing Dispatching Order
-            OMElement dispatch_order = config_element.getFirstChildWithName(
-                    new QName(DISPATCH_ORDER));
-            if (dispatch_order != null) {
-                processDispatchingOrder(dispatch_order);
-                log.info("found the custom dispatching order and continue with that order");
-            } else {
-                ((AxisConfigurationImpl) axisConfiguration).setDefaultDispatchers();
-                log.info("no custom dispatching order found, continuing with the default dispaching order");
-            }
-
             //Process Module refs
             Iterator moduleitr = config_element.getChildrenWithName(
                     new QName(DeploymentConstants.MODULEST));
@@ -121,61 +103,24 @@
         }
     }
 
-
-    private void processDispatchingOrder(OMElement dispatch_order) throws DeploymentException {
-        Iterator dispatchers = dispatch_order.getChildrenWithName(new QName(DISPATCHER));
-        boolean foundDiaptcher = false;
-        Phase dispatchPhae = new Phase(PhaseMetadata.PHASE_DISPATCH);
-        int count = 0;
-        while (dispatchers.hasNext()) {
-            foundDiaptcher = true;
-            OMElement dispchter = (OMElement) dispatchers.next();
-            String clssName = dispchter.getAttribute(new QName(CLASSNAME)).getAttributeValue();
-            AbstractDispatcher disptachClas;
-            Class classInstance;
-            try {
-                classInstance = Class.forName(
-                        clssName, true, Thread.currentThread().getContextClassLoader());
-                disptachClas = (AbstractDispatcher) classInstance.newInstance();
-                disptachClas.initDispatcher();
-                disptachClas.getHandlerDesc().setParent(axisConfiguration);
-                dispatchPhae.addHandler(disptachClas, count);
-                count ++;
-            } catch (ClassNotFoundException e) {
-                throw new DeploymentException(e);
-            } catch (IllegalAccessException e) {
-                throw new DeploymentException(e);
-            } catch (InstantiationException e) {
-                throw new DeploymentException(e);
-            }
-        }
-
-        if (!foundDiaptcher) {
-            throw new DeploymentException(Messages.getMessage(DeploymentErrorMsgs.NO_DISPATCHER_FOUND));
-        } else {
-            ((AxisConfigurationImpl) axisConfiguration).setDispatchPhase(dispatchPhae);
-        }
-
-    }
-
     /**
      * To process all the phase orders which are defined in axis2.xml
      *
      * @param phaserders
      */
-    private void processPhaseOrders(Iterator phaserders) {
+    private void processPhaseOrders(Iterator phaserders) throws DeploymentException {
         PhasesInfo info = engine.getPhasesinfo();
         while (phaserders.hasNext()) {
             OMElement phaseOrders = (OMElement) phaserders.next();
             String flowType = phaseOrders.getAttribute(new QName(TYPE)).getAttributeValue();
             if (INFLOWST.equals(flowType)) {
-                info.setINPhases(getPhaseList(phaseOrders));
+                info.setINPhases(processPhaseList(phaseOrders));
             } else if (IN_FAILTFLOW.equals(flowType)) {
-                info.setIN_FaultPhases(getPhaseList(phaseOrders));
+                info.setIN_FaultPhases(processPhaseList(phaseOrders));
             } else if (OUTFLOWST.equals(flowType)) {
-                info.setOUTPhases(getPhaseList(phaseOrders));
+                info.setOUTPhases(processPhaseList(phaseOrders));
             } else if (OUT_FAILTFLOW.equals(flowType)) {
-                info.setOUT_FaultPhases(getPhaseList(phaseOrders));
+                info.setOUT_FaultPhases(processPhaseList(phaseOrders));
             }
 
         }
@@ -188,6 +133,30 @@
         while (phases.hasNext()) {
             OMElement phase = (OMElement) phases.next();
             phaselist.add(phase.getAttribute(new QName(ATTNAME)).getAttributeValue());
+        }
+        return phaselist;
+    }
+
+    private ArrayList processPhaseList(OMElement phaseOrders) throws DeploymentException {
+        ArrayList phaselist = new ArrayList();
+        Iterator phases = phaseOrders.getChildrenWithName(new QName(PHASE));
+        while (phases.hasNext()) {
+            OMElement phaseelement = (OMElement) phases.next();
+            String phaseName = phaseelement.getAttribute(new QName(ATTNAME)).getAttributeValue();
+            Phase phase = new Phase(phaseName);
+            Iterator handlers = phaseelement.getChildrenWithName(new QName(HANDERST));
+            while (handlers.hasNext()) {
+                OMElement omElement = (OMElement) handlers.next();
+                HandlerDescription handler = processHandler(omElement, axisConfiguration);
+                handler.getRules().setPhaseName(phaseName);
+                Utils.loadHandler(axisConfiguration.getSystemClassLoader(), handler);
+                try {
+                    phase.addHandler(handler);
+                } catch (PhaseException e) {
+                    throw new DeploymentException(e);
+                }
+            }
+            phaselist.add(phase);
         }
         return phaselist;
     }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java Wed Nov 30 23:55:51 2005
@@ -30,6 +30,7 @@
 import org.apache.axis2.description.*;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.AxisConfigurationImpl;
+import org.apache.axis2.engine.Phase;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.phaseresolver.PhaseMetadata;
 import org.apache.commons.logging.Log;
@@ -335,16 +336,24 @@
      */
     private void validateSystemPredefinedPhases() throws DeploymentException {
         ArrayList inPhases = phasesinfo.getINPhases();
-        //TODO condition checking should be otherway since null value can occur
-        if (!(inPhases.get(0).equals(PhaseMetadata.PHASE_TRANSPORTIN) &&
-                inPhases.get(1).equals(PhaseMetadata.PHASE_PRE_DISPATCH) &&
-                inPhases.get(2).equals(PhaseMetadata.PHASE_DISPATCH) &&
-                inPhases.get(3).equals(PhaseMetadata.PHASE_POST_DISPATCH))) {
+        try {
+            String phase1 = ((Phase) inPhases.get(0)).getPhaseName();
+            String phases = ((Phase) inPhases.get(1)).getPhaseName();
+            String phase3 = ((Phase) inPhases.get(2)).getPhaseName();
+            String phase4 = ((Phase) inPhases.get(3)).getPhaseName();
+            if (!(phase1.equals(PhaseMetadata.PHASE_TRANSPORTIN) &&
+                    phases.equals(PhaseMetadata.PHASE_PRE_DISPATCH) &&
+                    phase3.equals(PhaseMetadata.PHASE_DISPATCH) &&
+                    phase4.equals(PhaseMetadata.PHASE_POST_DISPATCH))) {
+                throw new DeploymentException(Messages.getMessage(DeploymentErrorMsgs.INVALID_PHASE));
+            }
+        } catch (Exception e) {
             throw new DeploymentException(Messages.getMessage(DeploymentErrorMsgs.INVALID_PHASE));
         }
-        //  ArrayList outPhaes = tempdata.getOutphases();
-        //TODO do the validation code here
-        //ArrayList systemDefaultPhases =((AxisConfigurationImpl)axisConfig).getInPhasesUptoAndIncludingPostDispatch();
+
+        ((AxisConfigurationImpl) axisConfig).setInPhasesUptoAndIncludingPostDispatch(
+                phasesinfo.getGlobalInflow());
+        ((AxisConfigurationImpl) axisConfig).setInFaultPhases(phasesinfo.getIN_FaultPhases());
     }
 
     public ModuleDescription getModule(QName moduleName) throws AxisFault {

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/axis2.xml Wed Nov 30 23:55:51 2005
@@ -19,7 +19,6 @@
     </hostConfiguration>
 
 
-
     <!--if you want to extract the service archive file and work with that please uncomment this-->
     <!--else , it wont extract archive file or does not take into consideration if someone drop-->
     <!--exploded directory into /service directory-->
@@ -66,7 +65,8 @@
     <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
     </transportSender>
-    <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
     </transportSender>
 
@@ -98,8 +98,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -107,6 +133,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -115,6 +144,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/PhasesInfo.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/PhasesInfo.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/PhasesInfo.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/PhasesInfo.java Wed Nov 30 23:55:51 2005
@@ -16,12 +16,13 @@
 
 package org.apache.axis2.deployment.util;
 
+import org.apache.axis2.deployment.DeploymentException;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.HandlerDescription;
 import org.apache.axis2.engine.Phase;
-import org.apache.axis2.phaseresolver.PhaseMetadata;
-import org.apache.axis2.phaseresolver.PhaseException;
 import org.apache.axis2.om.OMElement;
+import org.apache.axis2.phaseresolver.PhaseException;
+import org.apache.axis2.phaseresolver.PhaseMetadata;
 
 import javax.xml.namespace.QName;
 import java.util.ArrayList;
@@ -66,17 +67,32 @@
         return OUT_FaultPhases;
     }
 
-    public ArrayList getOperationInPhases() {
+    public ArrayList getGlobalInflow() {
+        ArrayList globalphase = new ArrayList();
+        for (int i = 0; i < INPhases.size(); i++) {
+            Phase phase = (Phase) INPhases.get(i);
+            String phaseName = phase.getPhaseName();
+            if (PhaseMetadata.PHASE_TRANSPORTIN.equals(phaseName) ||
+                    PhaseMetadata.PHASE_PRE_DISPATCH.equals(phaseName) ||
+                    PhaseMetadata.PHASE_DISPATCH.equals(phaseName) ||
+                    PhaseMetadata.PHASE_POST_DISPATCH.equals(phaseName)) {
+                globalphase.add(phase);
+            }
+        }
+        return globalphase;
+    }
+
+    public ArrayList getOperationInPhases() throws DeploymentException {
         ArrayList operationINPhases = new ArrayList();
-        operationINPhases.add(new Phase(PhaseMetadata.PHASE_POLICY_DETERMINATION));
         for (int i = 0; i < INPhases.size(); i++) {
-            String phaseName = (String) INPhases.get(i);
+            Phase phase = (Phase) INPhases.get(i);
+            String phaseName = phase.getPhaseName();
             if (PhaseMetadata.PHASE_TRANSPORTIN.equals(phaseName) ||
                     PhaseMetadata.PHASE_PRE_DISPATCH.equals(phaseName) ||
                     PhaseMetadata.PHASE_DISPATCH.equals(phaseName) ||
                     PhaseMetadata.PHASE_POST_DISPATCH.equals(phaseName)) {
             } else {
-                operationINPhases.add(new Phase(phaseName));
+                operationINPhases.add(copyPhase(phase));
             }
         }
         return operationINPhases;
@@ -103,45 +119,60 @@
         return desc;
     }
 
-    public ArrayList getOperationOutPhases() {
+    public ArrayList getOperationOutPhases() throws DeploymentException {
         ArrayList oprationOUTPhases = new ArrayList();
         for (int i = 0; i < OUTPhases.size(); i++) {
-            String phaseName = (String) OUTPhases.get(i);
-            if (PhaseMetadata.PHASE_TRANSPORT_OUT.equals(phaseName)) {
-            } else {
-                oprationOUTPhases.add(new Phase(phaseName));
-            }
+            Phase phase = (Phase) OUTPhases.get(i);
+            oprationOUTPhases.add(copyPhase(phase));
         }
-        oprationOUTPhases.add(new Phase(PhaseMetadata.PHASE_POLICY_DETERMINATION));
-        oprationOUTPhases.add(new Phase(PhaseMetadata.PHASE_MESSAGE_OUT));
         return oprationOUTPhases;
     }
 
-    public ArrayList getOperationInFaultPhases() {
+    public ArrayList getOperationInFaultPhases() throws DeploymentException {
         ArrayList oprationIN_FaultPhases = new ArrayList();
         for (int i = 0; i < IN_FaultPhases.size(); i++) {
-            String phaseName = (String) IN_FaultPhases.get(i);
-            oprationIN_FaultPhases.add(new Phase(phaseName));
+            Phase phase = (Phase) IN_FaultPhases.get(i);
+            oprationIN_FaultPhases.add(copyPhase(phase));
         }
         return oprationIN_FaultPhases;
     }
 
-    public ArrayList getOperationOutFaultPhases() {
+    public ArrayList getOperationOutFaultPhases() throws DeploymentException {
         ArrayList oprationOUT_FaultPhases = new ArrayList();
         for (int i = 0; i < OUT_FaultPhases.size(); i++) {
-            String phaseName = (String) OUT_FaultPhases.get(i);
-            oprationOUT_FaultPhases.add(new Phase(phaseName));
+            Phase phase = (Phase) OUT_FaultPhases.get(i);
+            oprationOUT_FaultPhases.add(copyPhase(phase));
         }
         return oprationOUT_FaultPhases;
     }
 
-    public void setOperationPhases(AxisOperation axisOperation) {
+    public void setOperationPhases(AxisOperation axisOperation) throws DeploymentException{
         if (axisOperation != null) {
             axisOperation.setRemainingPhasesInFlow(getOperationInPhases());
             axisOperation.setPhasesOutFlow(getOperationOutPhases());
             axisOperation.setPhasesInFaultFlow(getOperationInFaultPhases());
             axisOperation.setPhasesOutFaultFlow(getOperationOutFaultPhases());
         }
+    }
+
+    /**
+     * To copy phase informatoin from one to another
+     *
+     * @param phase
+     * @return
+     */
+    private Phase copyPhase(Phase phase) throws DeploymentException {
+        Phase newPhase = new Phase(phase.getPhaseName());
+        Iterator handlers = phase.getHandlers().iterator();
+        while (handlers.hasNext()) {
+            try {
+                HandlerDescription handlerDescription = (HandlerDescription) handlers.next();
+                newPhase.addHandler(handlerDescription);
+            } catch (PhaseException e) {
+                throw new DeploymentException(e);
+            }
+        }
+        return newPhase;
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java Wed Nov 30 23:55:51 2005
@@ -107,7 +107,7 @@
         // axisService.setClassLoader(currentArchiveFile.getClassLoader());
     }
 
-    public static void  addFlowHandlers(Flow flow, ClassLoader clsLoader) throws AxisFault {
+    public static void addFlowHandlers(Flow flow, ClassLoader clsLoader) throws AxisFault {
         int count = flow.getHandlerCount();
         for (int j = 0; j < count; j++) {
             HandlerDescription handlermd = flow.getHandler(j);
@@ -136,5 +136,21 @@
             throw new AxisFault(e.getMessage());
         }
         return handlerClass;
+    }
+
+    public static void loadHandler(ClassLoader loader1, HandlerDescription desc) throws DeploymentException {
+        String handlername = desc.getClassName();
+        Handler handler;
+        Class handlerClass;
+        try {
+            handlerClass = Class.forName(handlername, true, loader1);
+            handler = (Handler) handlerClass.newInstance();
+            handler.init(desc);
+            desc.setHandler(handler);
+        } catch (ClassNotFoundException e) {
+            throw new DeploymentException(e);
+        } catch (Exception e) {
+            throw new DeploymentException(e);
+        }
     }
 }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfigurationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfigurationImpl.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfigurationImpl.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfigurationImpl.java Wed Nov 30 23:55:51 2005
@@ -122,14 +122,17 @@
         systemClassLoader = Thread.currentThread().getContextClassLoader();
         serviceClassLoader = Thread.currentThread().getContextClassLoader();
         moduleClassLoader = Thread.currentThread().getContextClassLoader();
+        // setting the dafualt flow , if some one creat AxisConfig programatically
+        //  most requird handles will be there in the flow.
+
+        setDefaultGlobalFlow();
     }
 
 
     /**
-     * Sets the default dispatching order.
+     * to set the default global flow if some one create a AxisConfiguration by hand.
      */
-    public void setDefaultDispatchers() {
-
+    private void setDefaultGlobalFlow() {
         Phase dispatch = new Phase(PhaseMetadata.PHASE_DISPATCH);
         AddressingBasedDispatcher add_dispatch = new AddressingBasedDispatcher();
         add_dispatch.initDispatcher();
@@ -167,28 +170,6 @@
         inPhasesUptoAndIncludingPostDispatch.add(postDispatch);
     }
 
-
-    /**
-     * Sets the custom dispatching order.
-     *
-     * @param dispatch
-     */
-    public void setDispatchPhase(Phase dispatch) {
-        inPhasesUptoAndIncludingPostDispatch.add(dispatch);
-
-        Phase postDispatch = new Phase(PhaseMetadata.PHASE_POST_DISPATCH);
-        DispatchingChecker dispatchingChecker = new DispatchingChecker();
-        dispatchingChecker.getHandlerDesc().setParent(this);
-
-        org.apache.axis2.engine.InstanceDispatcher instanceDispatcher = new InstanceDispatcher();
-        instanceDispatcher.getHandlerDesc().setParent(this);
-
-        postDispatch.addHandler(dispatchingChecker);
-        postDispatch.addHandler(instanceDispatcher, 1);
-        inPhasesUptoAndIncludingPostDispatch.add(postDispatch);
-    }
-
-
     public Hashtable getFaultyServices() {
         return faultyServices;
     }
@@ -358,6 +339,10 @@
         return inPhasesUptoAndIncludingPostDispatch;
     }
 
+    public void setInPhasesUptoAndIncludingPostDispatch(ArrayList inPhasesUptoAndIncludingPostDispatch) {
+        this.inPhasesUptoAndIncludingPostDispatch = inPhasesUptoAndIncludingPostDispatch;
+    }
+
     public ArrayList getOutFlow() {
         return outPhases;
     }
@@ -369,6 +354,7 @@
     public ArrayList getInFaultFlow() {
         return inFaultPhases;
     }
+
 
     /**
      * @return Returns ArrayList

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/ConfigWithObservers/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/ConfigWithObservers/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/ConfigWithObservers/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/ConfigWithObservers/axis2.xml Wed Nov 30 23:55:51 2005
@@ -72,12 +72,38 @@
     <!-- ================================================= -->
     <!-- Phases  -->
     <!-- ================================================= -->
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -85,6 +111,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -93,6 +122,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/ParaLockedRepo/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/ParaLockedRepo/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/ParaLockedRepo/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/ParaLockedRepo/axis2.xml Wed Nov 30 23:55:51 2005
@@ -8,12 +8,38 @@
     <parameter name="modulePara1" locked="false">true</parameter>
     <parameter name="modulePara2" locked="true">true</parameter>
 
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -21,6 +47,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -29,6 +58,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/ServiceGroup/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/ServiceGroup/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/ServiceGroup/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/ServiceGroup/axis2.xml Wed Nov 30 23:55:51 2005
@@ -57,13 +57,38 @@
         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
     </transportSender>
 
-
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -71,6 +96,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -79,6 +107,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/axis2.xml Wed Nov 30 23:55:51 2005
@@ -9,13 +9,38 @@
      <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
         <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
     </transportSender>
-
     <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -23,6 +48,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -31,6 +59,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/hostConfigrepo/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/hostConfigrepo/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/hostConfigrepo/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/hostConfigrepo/axis2.xml Wed Nov 30 23:55:51 2005
@@ -96,8 +96,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -105,6 +131,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -113,6 +142,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/moduleConfig/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/moduleConfig/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/moduleConfig/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/moduleConfig/axis2.xml Wed Nov 30 23:55:51 2005
@@ -13,8 +13,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -22,6 +48,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -30,6 +59,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/server-transport.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/server-transport.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/server-transport.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/server-transport.xml Wed Nov 30 23:55:51 2005
@@ -11,8 +11,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -20,6 +46,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -28,6 +57,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/server1.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/server1.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/server1.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/server1.xml Wed Nov 30 23:55:51 2005
@@ -11,12 +11,38 @@
     </transportSender>
     <module ref="addressing"/>
 
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -24,6 +50,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -32,6 +61,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </server>
 

Modified: webservices/axis2/trunk/java/modules/core/test-resources/deployment/serviceGroupRepo/axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/deployment/serviceGroupRepo/axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/deployment/serviceGroupRepo/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/core/test-resources/deployment/serviceGroupRepo/axis2.xml Wed Nov 30 23:55:51 2005
@@ -61,8 +61,34 @@
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -70,6 +96,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -78,6 +107,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/EnginePausingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/EnginePausingTest.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/EnginePausingTest.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/engine/EnginePausingTest.java Wed Nov 30 23:55:51 2005
@@ -51,7 +51,6 @@
         super(arg0);
         executedHandlers = new ArrayList();
         AxisConfiguration engineRegistry = new AxisConfigurationImpl();
-        ((AxisConfigurationImpl)engineRegistry).setDefaultDispatchers();
         engineContext = new ConfigurationContext(engineRegistry);
         transportOut = new TransportOutDescription(new QName("null"));
         transportOut.setSender(new CommonsHTTPTransportSender());

Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PhaseRuleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PhaseRuleTest.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PhaseRuleTest.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PhaseRuleTest.java Wed Nov 30 23:55:51 2005
@@ -25,7 +25,6 @@
         //TODO fix me
         phaserul = new PhaseRuleTest("");
         axisSytem = new AxisConfigurationImpl();
-        ((AxisConfigurationImpl)axisSytem).setDefaultDispatchers();
         ArrayList inPhase = axisSytem.getInPhasesUptoAndIncludingPostDispatch();
 
         Handler han = null;//(Handler)Class.forName("org.apache.axis2.handlers.AbstractHandler",true, Thread.currentThread().getContextClassLoader()).newInstance();

Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PreDispatchPhaseRuleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PreDispatchPhaseRuleTest.java?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PreDispatchPhaseRuleTest.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/phaserule/PreDispatchPhaseRuleTest.java Wed Nov 30 23:55:51 2005
@@ -40,7 +40,6 @@
         //TODO Fix me
         phaserul = new PreDispatchPhaseRuleTest("");
         axisSytem = new AxisConfigurationImpl();
-       ((AxisConfigurationImpl)axisSytem).setDefaultDispatchers();
         ArrayList inPhase = axisSytem.getInPhasesUptoAndIncludingPostDispatch();
 
         Handler han = null;

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.client.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.client.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.client.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.client.axis2.xml Wed Nov 30 23:55:51 2005
@@ -44,13 +44,38 @@
     </transportSender>
 
 
-    
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -58,8 +83,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -68,6 +94,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.service.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.service.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.service.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/complete.service.axis2.xml Wed Nov 30 23:55:51 2005
@@ -52,14 +52,38 @@
        <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
    </transportSender>
    -->
-
-    
-    <phaseOrder type="inflow">
+  <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -67,8 +91,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -77,6 +102,10 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.client.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.client.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.client.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.client.axis2.xml Wed Nov 30 23:55:51 2005
@@ -25,14 +25,38 @@
         <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
     </transportSender>
 
-
-    
     <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -40,8 +64,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -50,6 +75,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.service.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.service.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.service.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/s1.service.axis2.xml Wed Nov 30 23:55:51 2005
@@ -49,13 +49,38 @@
    </transportSender>
    -->
 
-    
-    <phaseOrder type="inflow">
+  <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -63,8 +88,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -73,6 +99,8 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.client.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.client.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.client.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.client.axis2.xml Wed Nov 30 23:55:51 2005
@@ -34,14 +34,38 @@
         <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
     </transportSender>
 
-
-    
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -49,8 +73,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -59,6 +84,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>
 

Modified: webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.service.axis2.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.service.axis2.xml?rev=350203&r1=350202&r2=350203&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.service.axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/security/s2.service.axis2.xml Wed Nov 30 23:55:51 2005
@@ -49,13 +49,38 @@
    </transportSender>
    -->
 
-    
-    <phaseOrder type="inflow">
+   <phaseOrder type="inflow">
         <!--  System pre defined phases       -->
         <phase name="TransportIn"/>
         <phase name="PreDispatch"/>
-        <phase name="Dispatch"/>
-        <phase name="PostDispatch"/>
+        <phase name="Dispatch">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+             <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <phase name="PostDispatch">
+             <handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker">
+                <order phase="PostDispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
         <!--  System pre defined phases       -->
         <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
         <phase name="userphase1"/>
@@ -63,8 +88,9 @@
     <phaseOrder type="outflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
-        <!--        This is temporray solution will be change soon-->
-        <phase name="security"/>
+        <!--system predefined phase-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
     <phaseOrder type="INfaultflow">
         <!--      user can add his own phases to this area  -->
@@ -73,6 +99,9 @@
     <phaseOrder type="Outfaultflow">
         <!--      user can add his own phases to this area  -->
         <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
     </phaseOrder>
+
 </axisconfig>