The main idea of phase rules is to correctly locate a handler relative to the one inside a phase, maybe at the deployment time or at the runtime. Axis1 did not have the concept of phases or phase rules. What it had was a global configuration file where you go and define you handlers. But that had a number of limitations; in particular, you lose the dynamic nature of the handler chain. Therefore, one aspect of phase rules is to address the issues of dynamic execution chain building capability.
Characterizing a phase rule can be based on one or more of the following properties:
Phase name: Name of the phase that the handler must be placed in
First phase (
phaseFirst
): The first handler of the phaseLast phase(
phaseLast
): The last handler of the phaseBefore (
before
): Positions the handler before another handlerAfter (
after
): Positions the handler after another handlerBefore and after: Places the handler between two handlers