Author: saminda
Date: Tue May 30 06:56:16 2006
New Revision: 410286

URL: http://svn.apache.org/viewvc?rev=410286&view=rev
Log:
Synapse has become a module now. So it shall be synapse.mar. Once the 
synapse.mar put into modules dir, 
SynapseDispacter will be the first dispatcher and direct all the trafic to 
synapse. One can provide location 
of the synapse.xml via the system property SYNAPSE_XML. 

Deprecated the class SynapseAxis2Intercepter.  

Added:
    incubator/synapse/trunk/java/modules/core/conf/module.xml
    
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
Removed:
    incubator/synapse/trunk/java/repository/services/
Modified:
    incubator/synapse/trunk/java/modules/core/maven.xml
    
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java
    incubator/synapse/trunk/java/repository/conf/axis2.xml

Added: incubator/synapse/trunk/java/modules/core/conf/module.xml
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/conf/module.xml?rev=410286&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/conf/module.xml (added)
+++ incubator/synapse/trunk/java/modules/core/conf/module.xml Tue May 30 
06:56:16 2006
@@ -0,0 +1,15 @@
+<module name="synapse" class="org.apache.synapse.core.axis2.SynapseModule">
+
+    <Description>
+        This module dynamically set the Synapse dispatcher. Synapse service and
+        SynapseMessageReceiver will be initialize by SynapseModule
+    </Description>
+
+    <inflow>
+        <handler name="SynapseDispatcher"
+                 class="org.apache.synapse.core.axis2.SynapseDispatcher">
+            <order phaseFirst="true" phase="Dispatch"/>
+        </handler>
+    </inflow>
+
+</module>

Modified: incubator/synapse/trunk/java/modules/core/maven.xml
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/maven.xml?rev=410286&r1=410285&r2=410286&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/maven.xml (original)
+++ incubator/synapse/trunk/java/modules/core/maven.xml Tue May 30 06:56:16 2006
@@ -20,30 +20,20 @@
     <goal name="synapse_core">
         <j:set var="class_test.dir" value="target/test-classes"/>
 
-        <echo message="----------------Creating First Dispatching 
aar----------------"/>
-        <mkdir dir="target/services/synapse/META-INF"/>
-        <copy 
file="test-resources/axis2/services/synapse/META-INF/services.xml"
-              tofile="target/services/synapse/META-INF/services.xml"/>
-        <jar jarfile="target/synapse.aar"
-             basedir="target/services/synapse">
+        <echo message="----------------Creating synapse.mar----------------"/>
+        <mkdir dir="target/modules/synapse/META-INF"/>
+        <copy file="conf/module.xml"
+              tofile="target/modules/synapse/META-INF/module.xml"/>
+        <jar jarfile="target/synapse.mar"
+             basedir="target/modules/synapse">
             <include name="**"/>
         </jar>
 
-        <echo message="----------------Creating Empty Mediator 
aar----------------"/>
-        <mkdir dir="target/services/emptymediator/META-INF"/>
-        <copy 
file="test-resources/axis2/services/emptymediator/META-INF/services.xml"
-              tofile="target/services/emptymediator/META-INF/services.xml"/>
-        <jar jarfile="target/emptymediator.aar"
-             basedir="target/services/emptymediator">
-            <include name="**"/>
-        </jar>
 
         <echo message="-----------Creating Testing Repository - 
Genral----------"/>
         <mkdir dir="target/synapse-repository"/>
-        <copy file="target/synapse.aar"
-              tofile="target/synapse-repository/services/synapse.aar"/>
-        <copy file="target/emptymediator.aar"
-              tofile="target/synapse-repository/services/emptymediator.aar"/>
+        <copy file="target/synapse.mar"
+              tofile="target/synapse-repository/modules/synapse.mar"/>
         <mkdir dir="target/synapse-repository/modules"/>
         <copy 
file="../../repository/modules/addressing-${addressing.version}.mar"
               
tofile="target/synapse-repository/modules/addressing-${addressing.version}.mar"/>
@@ -55,9 +45,7 @@
 
         <ant:delete dir="target/modules"/>
         <ant:delete dir="target/services"/>
-        <ant:delete file="target/emptymediator.aar"/>
-        <ant:delete file="target/synapse.aar"/>
-        <ant:delete file="target/environmentaware-mediator.aar"/>
+        <ant:delete file="target/synapse.mar"/>
 
         <ant:path id="classes_test.dir" location="${class_test.dir}"/>
         <maven:addPath id="maven.dependency.classpath" 
refid="classes_test.dir"/>

Modified: 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java?rev=410286&r1=410285&r2=410286&view=diff
==============================================================================
--- 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java
 (original)
+++ 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseAxis2Interceptor.java
 Tue May 30 06:56:16 2006
@@ -39,6 +39,8 @@
  * The Synapse Axis2 interceptor will be invoked by Axis2 upon Axis 
initialization.
  * This allows the Synapse engine to be initialized at Axis2 startup, and 
store the
  * initial Synapse configuration into the AxisConfiguration for subsequent 
lookup.
+ * @deprecated
+ * SynapseModule will initialize the SynapseEnvironment. 
  */
 public class SynapseAxis2Interceptor implements AxisObserver, Constants {
 

Added: 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java?rev=410286&view=auto
==============================================================================
--- 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
 (added)
+++ 
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseModule.java
 Tue May 30 06:56:16 2006
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.synapse.core.axis2;
+
+import org.apache.axis2.modules.Module;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.*;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.config.SynapseConfigurationBuilder;
+import org.apache.synapse.Constants;
+import org.apache.synapse.SynapseException;
+
+import javax.xml.namespace.QName;
+
+public class SynapseModule implements Module, Constants {
+
+    private static final String SYNAPSE_SERVICE_NAME = "synapse";
+    private static final QName MEDIATE_OPERATION_Q_NAME = new QName("mediate");
+
+    private static final Log log = LogFactory.getLog(SynapseModule.class);
+
+    public void init(ConfigurationContext configurationContext,
+                     AxisModule axisModule) throws AxisFault {
+        log.info("Initializing Synapse Service from SynapseModule ..");
+        // Dynamically initialize the Empty Synapse Service
+        AxisConfiguration axisCfg = 
configurationContext.getAxisConfiguration();
+        AxisService synapseService = new AxisService(SYNAPSE_SERVICE_NAME);
+        AxisOperation mediateOperation =
+                new InOutAxisOperation(MEDIATE_OPERATION_Q_NAME);
+        mediateOperation.setMessageReceiver(new SynapseMessageReceiver());
+        synapseService.addOperation(mediateOperation);
+        axisCfg.addService(synapseService);
+
+        // Initializing the SynapseEnvironment For Synapse to work
+
+        log.info("Initializing Synapse Environment ...");
+
+        SynapseConfiguration synCfg = null;
+
+        // if the system property synapse.xml is specified, use it.. else 
default config
+        String config = System.getProperty(Constants.SYNAPSE_XML);
+
+        if (config != null) {
+            log.info("System property '" + Constants.SYNAPSE_XML +
+                     "' specifies synapse configuration as " + config);
+            synCfg = SynapseConfigurationBuilder.getConfiguration(config);
+        } else {
+            log.info("System property '" + Constants.SYNAPSE_XML +
+                     "' is not specified. Using default configuration");
+            synCfg = SynapseConfigurationBuilder.getDefaultConfiguration();
+        }
+
+        // set the Synapse configuration and environment into the Axis2 
configuration
+        Parameter synapseCtxParam = new Parameter(SYNAPSE_CONFIG, null);
+        synapseCtxParam.setValue(synCfg);
+
+        Parameter synapseEnvParam = new Parameter(SYNAPSE_ENV, null);
+        synapseEnvParam.setValue(new Axis2SynapseEnvironment(axisCfg));
+
+        try {
+            axisCfg.addParameter(synapseCtxParam);
+            axisCfg.addParameter(synapseEnvParam);
+
+        } catch (AxisFault e) {
+            handleException(
+                    "Could not set parameters '" + SYNAPSE_CONFIG +
+                    "' and/or '" + SYNAPSE_ENV +
+                    "'to the Axis2 configuration : " + e.getMessage(), e);
+        }
+
+        log.info("Synapse Environment initialized...");
+
+
+    }
+
+    public void engageNotify(AxisDescription axisDescription) throws AxisFault 
{
+        // FixMe
+    }
+
+    public void shutdown(ConfigurationContext configurationContext)
+            throws AxisFault {
+        // FixMe
+    }
+
+    private void handleException(String msg, Exception e) {
+        log.error(msg, e);
+        throw new SynapseException(msg, e);
+    }
+}

Modified: incubator/synapse/trunk/java/repository/conf/axis2.xml
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/repository/conf/axis2.xml?rev=410286&r1=410285&r2=410286&view=diff
==============================================================================
--- incubator/synapse/trunk/java/repository/conf/axis2.xml (original)
+++ incubator/synapse/trunk/java/repository/conf/axis2.xml Tue May 30 06:56:16 
2006
@@ -1,167 +1,162 @@
-<axisconfig name="SynapseAxisJava2.0">
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment" locked="false">true</parameter>
-    <parameter name="hotupdate" locked="false">false</parameter>
-    <parameter name="enableMTOM" locked="false">false</parameter>
-    <parameter name="sendStacktraceDetailsWithFaults" 
locked="false">true</parameter>
-
-    <!-- Uncomment this to enable REST support -->
-    <!--    <parameter name="enableREST" locked="false">true</parameter>-->
-
-    <parameter name="userName" locked="false">admin</parameter>
-    <parameter name="password" locked="false">axis2</parameter>
-    
-    <!-- Always engage addressing for Synapse -->
-    <module ref="addressing"/>
-    <!-- This interceptor initializes Synapse on Axis2 startup -->
-    <listener class="org.apache.synapse.core.axis2.SynapseAxis2Interceptor"/>
-
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the Deafult Message Receiver for the system , if you want to 
have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so 
that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovride this for particular service by adding the same 
element with your requirement-->
-    <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only";
-                         
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out";
-                         
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       
class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port" locked="false">6060</parameter>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncommet following paramter , and set as you required.-->
-        <!--<parameter name="hostname" 
locked="false">http://myApp.com/ws</parameter>-->
-    </transportReceiver>
-
-    <transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port" locked="false">6061</parameter>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncommet following paramter , and set as you required.-->
-        <!--<parameter name="hostname" 
locked="false">tcp://myApp.com/ws</parameter>-->
-    </transportReceiver>
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <transportSender name="tcp"
-                     
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     
class="org.apache.axis2.transport.local.LocalTransportSender"/>
-    <transportSender name="jms"
-                     class="org.apache.axis2.transport.jms.JMSSender"/>
-    <transportSender name="http"
-                     
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
-    </transportSender>
-    <transportSender name="https"
-                     
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
-    </transportSender>
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="inflow">
-        <!--  System pre defined phases       -->
-         <phase name="Transport">
-            <!--<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>-->
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="SynapseDispatcher"
-                     class="org.apache.synapse.core.axis2.SynapseDispatcher">
-                <order phase="Dispatch"/>
-            </handler>
-
-            <!--<handler name="AddressingBasedDispatcher"-->
-                     
<!--class="org.apache.axis2.engine.AddressingBasedDispatcher">-->
-                <!--<order phase="Dispatch"/>-->
-            <!--</handler>-->
-
-            <!--<handler name="SOAPMessageBodyBasedDispatcher"-->
-                     
<!--class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">-->
-                <!--<order phase="Dispatch"/>-->
-            <!--</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="OperationInPhase"/>
-    </phaseOrder>
-    <phaseOrder type="outflow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-    </phaseOrder>
-    <phaseOrder type="INfaultflow">
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-
-            <handler name="SynapseDispatcher"
-                     class="org.apache.synapse.core.axis2.SynapseDispatcher">
-                <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="AddressingBasedDispatcher"-->
-                     
<!--class="org.apache.axis2.engine.AddressingBasedDispatcher">-->
-                <!--<order phase="Dispatch"/>-->
-            <!--</handler>-->
-
-            <!--<handler name="SOAPMessageBodyBasedDispatcher"-->
-                     
<!--class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">-->
-                <!--<order phase="Dispatch"/>-->
-            <!--</handler>-->
-            <handler name="InstanceDispatcher"
-                     class="org.apache.axis2.engine.InstanceDispatcher">
-                <order phase="PostDispatch"/>
-            </handler>
-        </phase>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-    </phaseOrder>
-    <phaseOrder type="Outfaultflow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-    </phaseOrder>
-</axisconfig>
\ No newline at end of file
+<axisconfig name="AxisJava2.0">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment" locked="false">true</parameter>
+    <parameter name="hotupdate" locked="false">false</parameter>
+    <parameter name="enableMTOM" locked="false">false</parameter>
+
+    <!--During a fault, stacktrace can be sent with the fault message. The 
following flag will control -->
+    <!--that behaviour.-->
+    <parameter name="sendStacktraceDetailsWithFaults" 
locked="false">true</parameter>
+
+    <!--If there aren't any information available to find out the fault 
reason, we set the message of the expcetion-->
+    <!--as the faultreason/Reason. But when a fault is thrown from a service 
or some where, it will be -->
+    <!--wrapped by different levels. Due to this the initial exception message 
can be lost. If this flag-->
+    <!--is set then, Axis2 tries to get the first exception and set its 
message as the faultreason/Reason.-->
+    <parameter name="DrillDownToRootCauseForFaultReason" 
locked="false">false</parameter>
+
+    <!--This is the user name and password of admin console-->
+    <parameter name="userName" locked="false">admin</parameter>
+    <parameter name="password" locked="false">axis2</parameter>
+
+    <!-- ==================================================== -->
+    <module ref="addressing"/>
+    <module ref="synapse"/>
+
+    <!-- ==================================================== -->
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!--This is the Deafult Message Receiver for the system , if you want to 
have MessageReceivers for -->
+    <!--all the other MEP implement it and add the correct entry to here , so 
that you can refer from-->
+    <!--any operation -->
+    <!--Note : You can ovride this for particular service by adding the same 
element with your requirement-->
+    <messageReceivers>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only";
+                         
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out";
+                         
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </messageReceivers>
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http"
+                       
class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" locked="false">6060</parameter>
+        <!--If you want to give your own host address for EPR generation-->
+        <!--uncommet following paramter , and set as you required.-->
+        <!--<parameter name="hostname" 
locked="false">http://myApp.com/ws</parameter>-->
+    </transportReceiver>
+
+    <transportReceiver name="tcp"
+                       class="org.apache.axis2.transport.tcp.TCPServer">
+        <parameter name="port" locked="false">6061</parameter>
+        <!--If you want to give your own host address for EPR generation-->
+        <!--uncommet following paramter , and set as you required.-->
+        <!--<parameter name="hostname" 
locked="false">tcp://myApp.com/ws</parameter>-->
+    </transportReceiver>
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="tcp"
+                     
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+    <transportSender name="local"
+                     
class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <transportSender name="jms"
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
+    <transportSender name="http"
+                     
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+    <transportSender name="https"
+                     
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
+    </transportSender>
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="inflow">
+        <!--  System pre defined phases       -->
+         <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     
class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </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="OperationInPhase"/>
+    </phaseOrder>
+    <phaseOrder type="outflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+    <phaseOrder type="INfaultflow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <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="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     
class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+    </phaseOrder>
+    <phaseOrder type="Outfaultflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to