axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ajith Ranabahu <>
Subject Re: [Axis2] Phase Handlers
Date Mon, 08 Nov 2004 09:58:41 GMT
I will try to answer these questions as far as I understand. Others
can correct me if I am also misundertood!
As far as I understand phases are logical groups of handlers. The
difference between the "chains" that were in axis 1 and  phases is the
ordering. This ordering may be fully/partly dynamic but they govern
the order the handlers are arranged. So infact a "phase" refers to the
logical ordering of the handlers.

On Mon, 8 Nov 2004 15:12:28 +0600, Deepal Jayasinghe
<> wrote:
> Hi all;
> I have started to develop a prototype to order the phase handlers. And I
> have encountered set of questions regarding the phase rules and phase
> handlers. Following is the format of a handler element.  
>  <handler/> ::= <handler ref="xs:anyURI"    | (name="xs:anyURI"
> class="...")>
>             <order (before="xs:anyURI" after="xs:anyURI")   |
> phase="xs:anyURI"
>                         phaseFirst="xs:boolean" phaseLast="xs:boolean"/>
>     <parameter/>*
>   </handler>
> What is really mean by before and after is that phase or handler? 

In the case of before and after they refer to "handlers". The phases
are NOT ordered dynamicaly, they are just static. (we can even give
the phase order in the axis global config file if we want to). However
every handler MUST belong to at least one phase.

> Can phases overlap one another?   

No. Phases should be treated as non-overlapping but you may add a
single handler to two phases which means the handler will be invoked
twice in the execution.(think about the logging handler) Since
handlers are stateless (the complete state is in the messageContext)
we can (should be) do this without a problem.

> Is that ok to think each handler should belong to a specific phase and that
> phase should be specified at the service deployment time (i.e. each hander
> in the service document should come with a phase)? 

mmmm.. Phases are specified at the service deployment (thats ok) but a
handler can belong to multiple phases. So a handler may not belong to
a specific phase.

> Can I assume that phase of any handler cannot be null, i.e. phase of a
> handler is not optional. 

Yes. a handler MUST belong to a phase. However the deployer may ignore
the phase in which case a default phase is assumed. So as far as the
internal logic is consided a handler always has a phase

> Thanks
> ==================================================
> Deepal Jayasinghe
> Lanka Software Foundation
> 0714 817 310

Ajith Ranabahu

View raw message