Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • InFlow
  • OutFlow
  • InFaultFlow
  • OutFaultFlow

The configurable parameters for this section are as follows. 

Parameter NameAttributeDescription
<phase>name

 You add phases using the <phase> sub-element. In the In phase orders, all phases before the Dispatch phase are global phases, and phases after the Dispatch phase are operation phases.

In the Out phase orders, phases before the MessageOut phase are global phases, and phases after the MessageOut phase are operation phases.

The name attribute specifies the phase name. You can add the <handler> sub-element under <phase> to execute a specific handler during a phase.

<handler>name
class 
The handler (message processing functionality) to execute during this phase. Handlers are combined into chains and phases to provide customizable functionality such as security, reliability, etc. Handlers must be multi-thread safe and should keep all their state in Context objects (see the org.apache.axis2.context package).

 

The following configuration is an example of how phases are configured.

...

languagexml

...

following configuration is an example of how phases are configured.

Code Block
languagexml
<phaseOrder type="InFlow">
        <!--  System pre defined phases       -->
        <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Transport"/>
          <!--  System pre</handler>
defined phases       -->         <phase name="Transport">
            <handler name="RequestURIBasedDispatcher<handler name="SOAPActionBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcherSOAPActionBasedDispatcher">
                <order phase="Transport"/>
            </handler>
        </phase>
      <handler  <phase name="SOAPActionBasedDispatcherAddressing">
             <handler name="AddressingBasedDispatcher"
        class="org             class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcherAddressingBasedDispatcher">
                 <order phase="TransportAddressing"/>
            </handler>
        </phase>
        <phase name="AddressingSecurity"/>
        <phase     <handler name="AddressingBasedDispatcherPreDispatch"/>
                    <phase name="Dispatch" class="org.apache.axis2.dispatchersengine.AddressingBasedDispatcherDispatchPhase">
            <handler name="RequestURIBasedDispatcher"
   <order phase="Addressing"/>             </handler>    class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
    </phase>         <phase<handler name="SecuritySOAPActionBasedDispatcher"/>
         <phase name="PreDispatch"/>         <phase name="Dispatch" class="org.apache.axis2.enginedispatchers.DispatchPhaseSOAPActionBasedDispatcher"/>
            <handler name="RequestURIBasedDispatcherRequestURIOperationDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcherRequestURIOperationDispatcher"/>
            <handler name="SOAPActionBasedDispatcherSOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcherSOAPMessageBodyBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcherHTTPLocationBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcherHTTPLocationBasedDispatcher"/>
        </phase>
        <handler<phase name="SOAPMessageBodyBasedDispatcherRMPhase"/>
        <!--  System predefined phases       -->
  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>      <!--   After Postdispatch phase module <handler name="HTTPLocationBasedDispatcher"
       author or service author can add any phase he want      -->
        <phase classname="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcherOperationInPhase"/>
        <phase </phase>name="soapmonitorPhase"/>
    </phaseOrder>
   <phase <phaseOrder nametype="RMPhaseOutFlow"/>
        <!--  System predefined phases  user can add his own -->phases to        <!--   After Postdispatch phase module author or service author can add any phase he want    this area  -->
        <phase name="OperationInPhasesoapmonitorPhase"/>
        <phase name="soapmonitorPhaseOperationOutPhase"/>
    </phaseOrder>     <phaseOrder type="OutFlow"<!--system predefined phase-->
        <!--these phase will run irrespective of the userservice-->
can add his own phases to this area  --<phase name="RMPhase"/>
        <phase name="soapmonitorPhasePolicyDetermination"/>
        <phase name="OperationOutPhaseMessageOut"/>
        <!--system predefined phase-->
 <phase name="Security"/>
      <!--these phase will run irrespective of the service--</phaseOrder>
    <phaseOrder type="InFaultFlow">
        <phase name="RMPhaseAddressing"/>
           <phase  <handler name="PolicyDeterminationAddressingBasedDispatcher"/>
          <phase name="MessageOut"/>         <phase nameclass="Security"/org.apache.axis2.dispatchers.AddressingBasedDispatcher">
    </phaseOrder>     <phaseOrder type="InFaultFlow">         <phase<order namephase="Addressing"/>
             <handler name="AddressingBasedDispatcher"</handler>
        </phase>
        <phase     classname="org.apache.axis2.dispatchers.AddressingBasedDispatcher"Security"/>
          <phase name="PreDispatch"/>
       <order phase="Addressing"/> <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
            <handler name="RequestURIBasedDispatcher"
 </handler>          </phase>         <phase nameclass="Securityorg.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
        <phase    <handler name="PreDispatch"/>SOAPActionBasedDispatcher"
                   <phase name="Dispatch" class="org.apache.axis2.enginedispatchers.DispatchPhaseSOAPActionBasedDispatcher"/>
            <handler name="RequestURIBasedDispatcherRequestURIOperationDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcherRequestURIOperationDispatcher"/>
            <handler name="SOAPActionBasedDispatcherSOAPMessageBodyBasedDispatcher"
                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcherSOAPMessageBodyBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcherHTTPLocationBasedDispatcher"
                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcherHTTPLocationBasedDispatcher"/>
        </phase>
        <handler<phase name="SOAPMessageBodyBasedDispatcherRMPhase"/>
        <!--      user can add his own phases  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
  to this area  -->
         <handler<phase name="HTTPLocationBasedDispatcherOperationInFaultPhase"/>
        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder  classtype="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/OutFaultFlow">
        </phase>
        <phase name="RMPhase"/>
        <!--      user can add his own phases to this area  -->
        <phase name="OperationInFaultPhasesoapmonitorPhase"/>
        <phase name="soapmonitorPhaseOperationOutFaultPhase"/>
    </phaseOrder>    <phase <phaseOrder typename="OutFaultFlowRMPhase"/>
        <!-- <phase name="PolicyDetermination"/>
    user can add his own phases to this area  -->
        <phase name="soapmonitorPhaseMessageOut"/>
        <phase name="OperationOutFaultPhaseSecurity"/>
        <phase name="RMPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
        <phase name="Security"/>
    </phaseOrder></phaseOrder>

The configurable parameters for this section are as follows. 

Parameter NameAttributeDescription
<phase>name

 You add phases using the <phase> sub-element. In the In phase orders, all phases before the Dispatch phase are global phases, and phases after the Dispatch phase are operation phases.

In the Out phase orders, phases before the MessageOut phase are global phases, and phases after the MessageOut phase are operation phases.

The name attribute specifies the phase name. You can add the <handler> sub-element under <phase> to execute a specific handler during a phase.

<handler>name
class 
The handler (message processing functionality) to execute during this phase. Handlers are combined into chains and phases to provide customizable functionality such as security, reliability, etc. Handlers must be multi-thread safe and should keep all their state in Context objects (see the org.apache.axis2.context package).