Hi all,

I thought adding the Security phase to OutFaultFlow would solve the issue,
but it did not. I am still getting the PhaseException, even though the
Security phase is now defined in my axis2.xml config file. Please let me
know what I am doing wrong. Here are the phases defined in
$AXIS2_HOME/WEB-INF/conf/axis2.xml:

    <phaseOrder type="InFlow">
        <!--  System predefined phases       -->
        <phase name="Transport">
            <handler name="RequestURIBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
                <order phase="Transport"/>
            </handler>
            <handler name="SOAPActionBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
                <order phase="Transport"/>
            </handler>
        </phase>
        <phase name="Addressing">
             <handler name="AddressingBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                 <order phase="Addressing"/>
            </handler>
        </phase>
        <phase name="Security"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase
">
            <handler name="RequestURIBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
            <handler name="SOAPActionBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcher"
                     class="
org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

            <handler name="HTTPLocationBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
        </phase>
        <phase name="RMPhase"/>
        <!--  System predefined phases       -->
        <!--   After Postdispatch phase module author or service author can
add any phase he want      -->
        <phase name="OperationInPhase"/>
        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="soapmonitorPhase"/>
        <phase name="OperationOutPhase"/>
        <!--system predefined phase-->
        <!--these phase will run irrespective of the service-->
        <phase name="RMPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
        <phase name="Security"/>
    </phaseOrder>
    <phaseOrder type="InFaultFlow">
        <phase name="Addressing">
             <handler name="AddressingBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.AddressingBasedDispatcher">
                 <order phase="Addressing"/>
            </handler>
        </phase>
        <phase name="Security"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase
">
            <handler name="RequestURIBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
            <handler name="SOAPActionBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
            <handler name="RequestURIOperationDispatcher"
                     class="
org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
            <handler name="SOAPMessageBodyBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

            <handler name="HTTPLocationBasedDispatcher"
                     class="
org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
        </phase>
        <phase name="RMPhase"/>
        <!--      user can add his own phases to this area  -->
        <phase name="OperationInFaultPhase"/>
        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFaultFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="soapmonitorPhase"/>
        <phase name="OperationOutFaultPhase"/>
        <!--system predefined phase-->
        <phase name="RMPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>

      <!-- Joana, 19.02.2008, added for rampart -->
        <phase name="Security"/>
    </phaseOrder>


Thanks and Regards,
Joana

On Feb 19, 2008 3:08 PM, Joana M. F. Trindade <[EMAIL PROTECTED]> wrote:

> Hi all,
>
> There is a incompatibility issue between the rampart trunk version and
> Axis2 1.3 binary distribution. In this distribution, the Security phase is
> only enabled on the Inflow, Outflow, and InFaultFlow phase orders. Rampart
> trunk version adds a handler to the Security phase on OutFaultFlow, as can
> be seen in the module.xml from rampart-SNAPSHOT.mar:
>
> <OutFaultFlow>
>      <handler name="PolicyBasedSecurityOutHandler" class="
> org.apache.rampart.handler.RampartSender">
>          <order phase="Security" phaseLast="true" />
>      </handler>
> </OutFaultFlow>
>
> This causes a PhaseException [1] in the Axis2 engine. In order to fix
> this, one has to manually add the Security phase to the OutFaultFlow in
> axis2.xml ($AXIS2_HOME/WEB-INF/conf). I'm not part of the Axis2 mailing
> lists, but perhaps it would be interesting to let them know about it, and
> enable the Security phase by default in OutFaultFlow.
>
> Thanks and regards,
> Joana
>
> [1] - org.apache.axis2.phaseresolver.PhaseException: Did not find the
> desired phase 'Security' while deploying handler
> 'PolicyBasedSecurityOutHandler'.
>
> --
> Student Intern
> SAP Research - Security & Trust
> SAP Labs France
>
> 805 Avenue du Dr. Maurice Donat
> 06250 Mougins
> T +33/492286319
> F +33/492286201
> Personal Homepage: 
> http://www.inf.ufrgs.br/~jmftrindade<http://www.inf.ufrgs.br/%7Ejmftrindade>




-- 
Student Intern
SAP Research - Security & Trust
SAP Labs France

805 Avenue du Dr. Maurice Donat
06250 Mougins
T +33/492286319
F +33/492286201
Personal Homepage: http://www.inf.ufrgs.br/~jmftrindade

Reply via email to