You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Jerome Camilleri <je...@bull.net> on 2007/06/22 15:17:39 UTC

SOAPMonitor Axis2 phases and Sandesha acknowledgement

Hi,

I try to configure SOAPMonitor.mar on my project to debug my application 
using Axis2 1.2 and Sandesha2 1.2.
All my request is catch by SOAPMonitor but on the server response wsrm 
tag are missing...
I try to change  into Axis2.xml file the OutFlow phase to call  
soapmonitorPhase after RMPhase like you can see on the fill below but I 
never saw the SequenceAcknowledgement into the server response (I'm sure 
that the response containe it because I had configure tcpmon beetween 
Source and Destination).

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" 
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Header>
    <wsa:MessageID>urn:uuid:E20181888A297B3C631182512256075</wsa:MessageID>
    <wsa:Action></wsa:Action>
    <wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512253019</wsa:RelatesTo>
  </soapenv:Header>
  <soapenv:Body>
 ...
  </soapenv:Body>
</soapenv:Envelope>

When I used tcpmon the reponse is correct and contain wsrm tags :
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" 
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header>
         
<wsa:MessageID>urn:uuid:E20181888A297B3C631182512249456</wsa:MessageID>
         <wsa:Action></wsa:Action>
         
<wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512245205</wsa:RelatesTo>
         <wsrm:Sequence 
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" 
soapenv:mustUnderstand="true">
            <wsrm:Identifier>uid1182512244847</wsrm:Identifier>
            <wsrm:MessageNumber>1</wsrm:MessageNumber>
         </wsrm:Sequence>
         <wsrm:SequenceAcknowledgement 
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" 
soapenv:mustUnderstand="true">
            
<wsrm:Identifier>urn:uuid:E20181888A297B3C631182512248038</wsrm:Identifier>
            <wsrm:AcknowledgementRange Lower="1" Upper="1" />
         </wsrm:SequenceAcknowledgement>
      </soapenv:Header>
      <soapenv:Body>
        ...
      </soapenv:Body>
   </soapenv:Envelope>

Someone have an explaination about this pleased ?

Regards
Jérôme


Extract of Axis2.xml:
...
    <!-- ================================================= -->
    <!-- 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="Dispatch"/>
            </handler>
        </phase>
        <!--  System pre defined phases       -->
        <!--   After Postdispatch phase module author or or service 
author can add any phase he want      -->
        <phase name="OperationInPhase"/>

        <phase name="RMPhase"/>

        <phase name="soapmonitorPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFlow">
        <!--      user can add his own phases to this area  -->
        <phase name="RMPhase"/>
        <phase name="OperationOutPhase"/>
        <!--system predefined phase-->
        <!--these phase will run irrespective of the service-->
 
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
        <phase name="Security"/>
        <phase name="soapmonitorPhase"/>
    </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"/>
        <phase name="soapmonitorPhase"/>
        <phase name="RMPhase"/>
    </phaseOrder>
    <phaseOrder type="OutFaultFlow">
        <phase name="soapmonitorPhase"/>
        <phase name="RMPhase"/>
        <!--      user can add his own phases to this area  -->
        <phase name="OperationOutFaultPhase"/>
        <phase name="PolicyDetermination"/>
        <phase name="MessageOut"/>
    </phaseOrder>
</axisconfig>


Jérôme

---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org


Re: SOAPMonitor Axis2 phases and Sandesha acknowledgement

Posted by Chamikara Jayalath <ch...@gmail.com>.
At the sender we check weather there are any Acks to be piggy backed and
thats where we add the it to outgoing msgs. So u wont see the Sequence Ack
in the handler level.

Chamikara


On 6/23/07, Chamikara Jayalath <ch...@gmail.com> wrote:
>
> Hi Jerome,
>
> Yes. This is becoz we add the Sequence header in the SenderWorker. You
> will not see the Sequence header in the handler level.
>
> Chamikara
>
>
> On 6/22/07, Jerome Camilleri <je...@bull.net> wrote:
> >
> > Hi,
> >
> > I try to configure SOAPMonitor.mar on my project to debug my application
> > using Axis2 1.2 and Sandesha2 1.2.
> > All my request is catch by SOAPMonitor but on the server response wsrm
> > tag are missing...
> > I try to change  into Axis2.xml file the OutFlow phase to call
> > soapmonitorPhase after RMPhase like you can see on the fill below but I
> > never saw the SequenceAcknowledgement into the server response (I'm sure
> > that the response containe it because I had configure tcpmon beetween
> > Source and Destination).
> >
> > <?xml version='1.0' encoding='utf-8'?>
> > <soapenv:Envelope xmlns:wsa=" http://www.w3.org/2005/08/addressing"
> > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
> >   <soapenv:Header>
> >     <wsa:MessageID>urn:uuid:E20181888A297B3C631182512256075</wsa:MessageID>
> >
> >     <wsa:Action></wsa:Action>
> >
> >     <wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512253019</wsa:RelatesTo>
> >   </soapenv:Header>
> >   <soapenv:Body>
> > ...
> >   </soapenv:Body>
> > </soapenv:Envelope>
> >
> > When I used tcpmon the reponse is correct and contain wsrm tags :
> > <?xml version='1.0' encoding='UTF-8'?>
> >    <soapenv:Envelope xmlns:wsa=" http://www.w3.org/2005/08/addressing"
> > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
> >       <soapenv:Header>
> >
> > <wsa:MessageID>urn:uuid:E20181888A297B3C631182512249456</wsa:MessageID>
> >          <wsa:Action></wsa:Action>
> >
> > <wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512245205</wsa:RelatesTo>
> >          <wsrm:Sequence
> > xmlns:wsrm=" http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soapenv:mustUnderstand="true">
> >             <wsrm:Identifier>uid1182512244847</wsrm:Identifier>
> >             <wsrm:MessageNumber>1</wsrm:MessageNumber>
> >          </wsrm:Sequence>
> >          <wsrm:SequenceAcknowledgement
> > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> > soapenv:mustUnderstand="true">
> >
> >
> > <wsrm:Identifier>urn:uuid:E20181888A297B3C631182512248038</wsrm:Identifier>
> >             <wsrm:AcknowledgementRange Lower="1" Upper="1" />
> >          </wsrm:SequenceAcknowledgement>
> >       </soapenv:Header>
> >       <soapenv:Body>
> >         ...
> >       </soapenv:Body>
> >    </soapenv:Envelope>
> >
> > Someone have an explaination about this pleased ?
> >
> > Regards
> > Jérôme
> >
> >
> > Extract of Axis2.xml:
> > ...
> >     <!-- ================================================= -->
> >     <!-- 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="Dispatch"/>
> >             </handler>
> >         </phase>
> >         <!--  System pre defined phases       -->
> >         <!--   After Postdispatch phase module author or or service
> > author can add any phase he want      -->
> >         <phase name="OperationInPhase"/>
> >
> >         <phase name="RMPhase"/>
> >
> >         <phase name="soapmonitorPhase"/>
> >     </phaseOrder>
> >     <phaseOrder type="OutFlow">
> >         <!--      user can add his own phases to this area  -->
> >         <phase name="RMPhase"/>
> >         <phase name="OperationOutPhase"/>
> >         <!--system predefined phase-->
> >         <!--these phase will run irrespective of the service-->
> >
> >         <phase name="PolicyDetermination"/>
> >         <phase name="MessageOut"/>
> >         <phase name="Security"/>
> >         <phase name="soapmonitorPhase"/>
> >     </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"/>
> >         <phase name="soapmonitorPhase"/>
> >         <phase name="RMPhase"/>
> >     </phaseOrder>
> >     <phaseOrder type="OutFaultFlow">
> >         <phase name="soapmonitorPhase"/>
> >         <phase name="RMPhase"/>
> >         <!--      user can add his own phases to this area  -->
> >         <phase name="OperationOutFaultPhase"/>
> >         <phase name="PolicyDetermination"/>
> >         <phase name="MessageOut"/>
> >     </phaseOrder>
> > </axisconfig>
> >
> >
> > Jérôme
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: sandesha-dev-help@ws.apache.org
> >
> >
>
>
> --
> Chamikara Jayalath
> WSO2 Inc.
> http://wso2.com/
> http://wso2.org/ - For your Oxygen needs




-- 
Chamikara Jayalath
WSO2 Inc.
http://wso2.com/
http://wso2.org/ - For your Oxygen needs

Re: SOAPMonitor Axis2 phases and Sandesha acknowledgement

Posted by Chamikara Jayalath <ch...@gmail.com>.
Hi Jerome,

Yes. This is becoz we add the Sequence header in the SenderWorker. You will
not see the Sequence header in the handler level.

Chamikara


On 6/22/07, Jerome Camilleri <je...@bull.net> wrote:
>
> Hi,
>
> I try to configure SOAPMonitor.mar on my project to debug my application
> using Axis2 1.2 and Sandesha2 1.2.
> All my request is catch by SOAPMonitor but on the server response wsrm
> tag are missing...
> I try to change  into Axis2.xml file the OutFlow phase to call
> soapmonitorPhase after RMPhase like you can see on the fill below but I
> never saw the SequenceAcknowledgement into the server response (I'm sure
> that the response containe it because I had configure tcpmon beetween
> Source and Destination).
>
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>   <soapenv:Header>
>
>     <wsa:MessageID>urn:uuid:E20181888A297B3C631182512256075</wsa:MessageID>
>     <wsa:Action></wsa:Action>
>
>     <wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512253019</wsa:RelatesTo>
>   </soapenv:Header>
>   <soapenv:Body>
> ...
>   </soapenv:Body>
> </soapenv:Envelope>
>
> When I used tcpmon the reponse is correct and contain wsrm tags :
> <?xml version='1.0' encoding='UTF-8'?>
>    <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>       <soapenv:Header>
>
> <wsa:MessageID>urn:uuid:E20181888A297B3C631182512249456</wsa:MessageID>
>          <wsa:Action></wsa:Action>
>
> <wsa:RelatesTo>urn:uuid:22075684A97A8D05F41182512245205</wsa:RelatesTo>
>          <wsrm:Sequence
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soapenv:mustUnderstand="true">
>             <wsrm:Identifier>uid1182512244847</wsrm:Identifier>
>             <wsrm:MessageNumber>1</wsrm:MessageNumber>
>          </wsrm:Sequence>
>          <wsrm:SequenceAcknowledgement
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
> soapenv:mustUnderstand="true">
>
>
> <wsrm:Identifier>urn:uuid:E20181888A297B3C631182512248038</wsrm:Identifier>
>             <wsrm:AcknowledgementRange Lower="1" Upper="1" />
>          </wsrm:SequenceAcknowledgement>
>       </soapenv:Header>
>       <soapenv:Body>
>         ...
>       </soapenv:Body>
>    </soapenv:Envelope>
>
> Someone have an explaination about this pleased ?
>
> Regards
> Jérôme
>
>
> Extract of Axis2.xml:
> ...
>     <!-- ================================================= -->
>     <!-- 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="Dispatch"/>
>             </handler>
>         </phase>
>         <!--  System pre defined phases       -->
>         <!--   After Postdispatch phase module author or or service
> author can add any phase he want      -->
>         <phase name="OperationInPhase"/>
>
>         <phase name="RMPhase"/>
>
>         <phase name="soapmonitorPhase"/>
>     </phaseOrder>
>     <phaseOrder type="OutFlow">
>         <!--      user can add his own phases to this area  -->
>         <phase name="RMPhase"/>
>         <phase name="OperationOutPhase"/>
>         <!--system predefined phase-->
>         <!--these phase will run irrespective of the service-->
>
>         <phase name="PolicyDetermination"/>
>         <phase name="MessageOut"/>
>         <phase name="Security"/>
>         <phase name="soapmonitorPhase"/>
>     </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"/>
>         <phase name="soapmonitorPhase"/>
>         <phase name="RMPhase"/>
>     </phaseOrder>
>     <phaseOrder type="OutFaultFlow">
>         <phase name="soapmonitorPhase"/>
>         <phase name="RMPhase"/>
>         <!--      user can add his own phases to this area  -->
>         <phase name="OperationOutFaultPhase"/>
>         <phase name="PolicyDetermination"/>
>         <phase name="MessageOut"/>
>     </phaseOrder>
> </axisconfig>
>
>
> Jérôme
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: sandesha-dev-help@ws.apache.org
>
>


-- 
Chamikara Jayalath
WSO2 Inc.
http://wso2.com/
http://wso2.org/ - For your Oxygen needs