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 Matthew Lovett <ML...@uk.ibm.com> on 2007/02/15 16:16:23 UTC

[Axis2] Re: svn commit: r507097 - in /webservices/sandesha/trunk/java: config/ src/org/apache/sandesha2/msgprocessors/ src/org/apache/sandesha2/util/ src/org/apache/sandesha2/workers/

Hi all,

Chamikara and I have been discussing a Sandesha issue on sandesha-dev, and 
he's proposed a solution that needs a new Axis2 constant. I think that's 
probably the way to go, so I've opened a Jira:
https://issues.apache.org/jira/browse/AXIS2-2191

Please let me know if you have any comments, I hope to get a patch 
together soon.

Matt

"Chamikara Jayalath" <ch...@gmail.com> wrote on 15/02/2007 12:44:21:

> Hi Matt,
> 
> One way may be to introduce an property which if set causes the 
> optimization to be skipped. We can set this at the GlobalInHandler.
> 
> Chamikara
> 
> 

> On 2/15/07, Matthew Lovett <ML...@uk.ibm.com> wrote:
> Hi Chamikara,
> 
> I see what you are trying to avoid, but as you agreed - there are cases
> where this doesn't work. 2 examples:
> An in-only MEP with an anonymous acksTo (where we need to keep the
> backchannel) 
> An in-out MEP with a non-anonymous replyTo, but an anonymous acksTo
> (again, we need the backchannel)
> 
> I think perhaps the code in the DispatchPhase is jumping the gun a bit. 
I
> think that the RM Phase (e.g . our SandeshaInHandler) needs to decide if 
it 
> needs the transport, before this optimization can run. Perhaps the right
> thing to do is to move this block of logic into some point a little 
later
> on?
> 
> As for moving the RM ack logic earlier, e.g. up to the GlobalInHandler, 
> I'm not sure if we can do that. I recently moved some of the logic from
> the global handler down into the in handler becase it needed the 
operation
> to have been resolved. If we did store the inbound message here (and 
send 
> the ack) then I think that we'd need to modify the code so that it 
always
> uses an invoker, and do most of the processing downstream from there.
> Perhaps worth thinking about.
> 
> Thanks
> 
> Matt
> 
> "Chamikara Jayalath" <ch...@gmail.com> wrote on 14/02/2007 
23:36:53:
> 
> > Hi Matt, 
> 
> > On 2/14/07, Matthew Lovett < MLOVETT@uk.ibm.com> wrote:
> > Hi Chamikara,
> >
> > Can you explain the changes to the module.xml a bit for me? I'm afraid
> > that I don't quite follow your reasoning. Here's why:
> > 
> > If we are trying to change the server-side behaviour,
> >
> > Yes. Its the sever side that I'm trying to fix.
> >
> > that implies that
> > the server-side-servlet serving the request is confused by the "1-way" 

> ops
> > that produce a response. If that is the case then we haven't solved 
the
> > whole issue, as a user's 1-way op could result in an ackMessage that
> needs
> > to flow on the backchannel, and presumably the servlet would be just 
as 
> > confused by this! I think the only place to fix that would be in the
> > servlet itself, and that means that we could leave the module.xml 
alone
> -
> > with definitions that follow the spec.
> >
> >
> > The reason for this fix was the lines 71-91 of the DiapatchPhase
> > class. For InOnly messages the  transport headers get written (For
> > e.g. HTTP 202) before the messages reach our handler. Because of 
> > this whatever the response we write goes with the HTTP 202 response
> > code and that get ignored by the Axis2 client side.
> > The RequestResponseTransport.acknowledgeMessage() method hs been
> > fully implemented only for the Servlet case. So this is not visible 
> > in test cases (i.e. with SAS).
> >
> > Didn't get what u meant by 'definitions that follow the spec'.
> > AckRequested is actually an InOut message and it is correct to move
> > it there. Yes TerminateSequence is a problem, but we hv a scenario 
> > where it works as InOut.
> > As for the LastMessage, the latest interops with Msft showed that it
> > comes without a MessageID, so I guessed that it hs to be moved back
> > to the InOnly group.
> > 
> > Yes, the problem is still there for InOnly messages that needs an
> > Ack. May be we should do early acking at the GlobalInHandler. Or is
> > there a better way ?
> >
> > Chamikara
> >
> > 
> > If it isn't the service side, but actually the client side that we are
> > trying to fix, then the module.xml is not as relevant as the code in
> > SpecSpecificConstants::getWSRMOperationType. However, you didn't 
change 
> > that, so I'm assuming that it is server side that we need to worry
> about.
> >
> > Do you actually have a test case that is impacted by the module.xml
> change
> > you put in?
> >
> > Thanks 
> >
> > Matt
> >
> > chamikara@apache.org wrote on 13/02/2007 16:58:15:
> >
> > > Author: chamikara 
> > > Date: Tue Feb 13 08:58:14 2007
> > > New Revision: 507097 
> > >
> > > URL: http://svn.apache.org/viewvc?view=rev&rev=507097 
> > > Log:
> > > changed AckRequest, LastMessage and TerminateSequence ActionMappings 

> > > to the RMInOutOperation. Having them as InOnly caused
> > > the response to come with 202 in the Servlet case.
> > >
> > > Changed the places where we create contexts to use the 
ContextFactory. 
> > >
> > > Modified:
> > >     webservices/sandesha/trunk/java/config/client_axis2.xml
> > >     webservices/sandesha/trunk/java/config/module.xml
> > >     webservices/sandesha/trunk/java/config/server_axis2.xml 
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java
> > >
> > > Modified: webservices/sandesha/trunk/java/config/client_axis2.xml
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/client_axis2.xml? 
> > > view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/client_axis2.xml 
(original) 
> 
> > > +++ webservices/sandesha/trunk/java/config/client_axis2.xml Tue Feb
> > > 13 08:58:14 2007
> > > @@ -96,6 +96,7 @@
> > >                       class="org.apache.axis2.transport.http .
> > > CommonsHTTPTransportSender">
> > >          <parameter name="PROTOCOL"
> locked="false">HTTP/1.1</parameter>
> > >          <parameter name="Transfer-Encoding" 
> > > locked="false">chunked</parameter>
> > > +        <!-- <parameter name="OmitSOAP12Action"
> > > locked="false">true</parameter> -->
> > >      </transportSender> 
> > >      <transportSender name="https"
> > >                       class="org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >
> > > Modified: webservices/sandesha/trunk/java/config/module.xml 
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/module.xml?
> > > view=diff&rev=507097&r1=507096&r2=507097 
> > > 
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/module.xml (original)
> > > +++ webservices/sandesha/trunk/java/config/module.xml Tue Feb 13 
> > 08:58:14 2007
> > > @@ -40,14 +40,10 @@
> > >          <messageReceiver class=" org.apache.sandesha2.msgreceivers.
> > > RMMessageReceiver"/>
> > >
> > >          <!-- namespaces for the 2005-02 spec --> 
> > > -        <actionMapping>http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/TerminateSequence</actionMapping> 
> > >          <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
> > > -        <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/AckRequested</actionMapping> 
> > > -        <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/LastMessage</actionMapping> 
> > >
> > >          <!-- namespaces for the 2006-08 spec --> 
> > >          <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/SequenceAcknowledgement</actionMapping> 
> > > -        <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/AckRequested</actionMapping>
> > >       </operation> 
> > >
> > >       <operation name="RMInOutOperation" mep=" http://www.w3.
> > > org/2006/01/wsdl/in-out">
> > > @@ -55,7 +51,17 @@
> > >
> > >          <!-- namespaces for the 2005-02 spec --> 
> > >          <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/CreateSequence</actionMapping>
> > > -
> > > +        <actionMapping> http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/AckRequested</actionMapping>
> > > +
> > > +        <!--  For interoparability perposes. Some WSRM
> > > implementations tend to send this as the LastMessage, 
> > +
> > > replied with an ack -->
> > > +        <actionMapping>http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/LastMessage</actionMapping>
> > > +        <actionMapping>http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/AckRequested</actionMapping> 
> > > +
> > > +        <!--  TerminateSequence works as a InOut in RM 1.0
> > > anonymous scenario -->
> > > +        <actionMapping>http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/TerminateSequence</actionMapping>
> > > +
> > > +
> > >          <!-- namespaces for the 2006-08 spec -->
> > >          <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/CreateSequence</actionMapping> 
> > >          <actionMapping>http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/CloseSequence</actionMapping> 
> > >
> > > Modified: webservices/sandesha/trunk/java/config/server_axis2.xml 
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/server_axis2.xml? 
> > > view=diff&rev=507097&r1=507096&r2=507097
> > > 
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/server_axis2.xml 
(original)
> > > +++ webservices/sandesha/trunk/java/config/server_axis2.xml Tue Feb 
> > > 13 08:58:14 2007
> > > @@ -97,6 +97,7 @@
> > >                       class=" org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >          <parameter name="PROTOCOL" 
> locked="false">HTTP/1.1</parameter>
> > >          <parameter name="Transfer-Encoding"
> > > locked="false">chunked</parameter>
> > > +        <!-- <parameter name="OmitSOAP12Action" 
> > > locked="false">true</parameter> -->
> > >      </transportSender>
> > >      <transportSender name="https"
> > >                       class=" org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097 
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -30,6 +30,7 @@ 
> > >  import org.apache.axis2.Constants ;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext;
> > > @@ -184,8 +185,10 @@ 
> > >           if (rmMsgCtx.getMessageContext().getOperationContext() ==
> > null) {
> > >              // operation context will be null when doing in a 
GLOBAL
> > >              // handler.
> > > +
> > >              ServiceContext serviceCtx =
> msgContext.getServiceContext();
> > > -            OperationContext opCtx = new
> > > OperationContext(ackOperation, serviceCtx);
> > > +            OperationContext opCtx =  ContextFactory. 
> > > createOperationContext(ackOperation, serviceCtx);
> > > +
> > >              rmMsgCtx.getMessageContext 
().setOperationContext(opCtx);
> > >           }
> > >
> > > @@ -292,8 +295,11 @@ 
> > >              getRMVersion(),
> > >              getMsgContext().getAxisService());
> > >        getMsgContext().setAxisOperation(ackOperation);
> > > +
> > >        ServiceContext serviceCtx = 
> getMsgContext().getServiceContext();
> > > -      OperationContext opcontext = new
> > > OperationContext(ackOperation, serviceCtx);
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(ackOperation, serviceCtx); 
> > > +      opcontext.setParent(getMsgContext().getServiceContext());
> > > +
> > >        getConfigurationContext().
> > > registerOperationContext(ackRequestRMMsg.getMessageId (), 
opcontext); 
> > >        getMsgContext().setOperationContext(opcontext);
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -24,6 +24,7 @@ 
> > >  import org.apache.axiom.soap.SOAPFactory ;
> > >  import org.apache.axis2.AxisFault;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.description.AxisOperation;
> > > @@ -172,7 +173,10 @@ 
> > >              rmMsgCtx.getMessageContext().getAxisService());
> > >        getMsgContext().setAxisOperation(closeOperation);
> > >
> > > -      OperationContext opcontext = new
> > > OperationContext(closeOperation, 
getMsgContext().getServiceContext()); 
> > > +
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(closeOperation,
> > getMsgContext().getServiceContext());
> > > +      opcontext.setParent(getMsgContext().getServiceContext()); 
> > > +
> > >        getConfigurationContext().registerOperationContext(rmMsgCtx.
> > > getMessageId(),opcontext);
> > >        getMsgContext().setOperationContext(opcontext);
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java
> > > URL: http://svn.apache .
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > > 
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -7,8 +7,10 @@ 
> > >  import org.apache.axis2.AxisFault ;
> > >  import org.apache.axis2.Constants;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > > +import org.apache.axis2.context.OperationContextFactory;
> > >  import org.apache.axis2.description.AxisOperation;
> > >  import org.apache.axis2.description.TransportOutDescription ;
> > >  import org.apache.commons.logging.Log;
> > > @@ -144,7 +146,9 @@
> > >        OperationContext context = pollMessage.getMessageContext().
> > > getOperationContext();
> > >        if(context == null) {
> > >           AxisOperation oldOperation =
> returnMessage.getAxisOperation();
> > > -         context = new OperationContext(oldOperation, 
> > > returnMessage.getServiceContext());
> > > +
> > > +         context = ContextFactory.
> > > createOperationContext(oldOperation, returnMessage.
> > > getServiceContext()); //new OperationContext(oldOperation); 
> > > +
> > > context.addMessageContext(pollMessage.getMessageContext());
> > > pollMessage.getMessageContext().setOperationContext(context);
> > >        }
> > >
> > > Modified: 
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java
> > > URL: http://svn.apache.
> > > 
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -23,6 +23,7 @@
> > >  import org.apache.axis2.AxisFault ;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext ;
> > > +import org.apache.axis2.context.ContextFactory;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.OperationContextFactory ;
> > > @@ -366,9 +367,10 @@
> > >              Sandesha2Constants.MessageTypes.TERMINATE_SEQ ,
> > >              rmMsgCtx.getRMSpecVersion(),
> > >              getMsgContext().getAxisService()); 
> > > -      OperationContext opcontext = OperationContextFactory
> > > -            .createOperationContext(
> > > -                  WSDLConstants.MEP_CONSTANT_OUT_IN, terminateOp,
> > > getMsgContext().getServiceContext()); 
> > > +
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(terminateOp,
> > getMsgContext().getServiceContext());
> > > +      opcontext.setParent(getMsgContext().getServiceContext()); 
> > > +
> > >        getConfigurationContext().registerOperationContext(rmMsgCtx.
> > > getMessageId(),   opcontext);
> > >
> > >        getMsgContext().setOperationContext(opcontext); 
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java
> > > URL: http://svn.apache .
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java (original) 
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -31,6 +31,7 @@
> > >  import org.apache.axis2.Constants;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext;
> > > @@ -354,8 +355,9 @@ 
> > >           // operation context will be null when doing in a GLOBAL
> > >           // handler.
> > >           AxisOperation op = ackMsgContext.getAxisOperation();
> > > +
> > >           ServiceContext serviceCtx = 
> ackMsgContext.getServiceContext();
> > > -         OperationContext opCtx = new OperationContext(op,
> serviceCtx);
> > > +         OperationContext opCtx = ContextFactory.
> > > createOperationContext(op, ackRMMsgContext.getMessageContext().
> > > getServiceContext());
> > > ackRMMsgContext.getMessageContext().setOperationContext(opCtx);
> > >        }
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -11,6 +11,7 @@ 
> > >  import org.apache.axis2.addressing.AddressingConstants;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext ;
> > > +import org.apache.axis2.context.ContextFactory;
> > >  import org.apache.axis2.context.MessageContext;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext ;
> > > @@ -522,9 +523,11 @@
> > >                 OperationContext responseMsgOpCtx = requestMsgOpCtx;
> > >                 if (requestMsgOpCtx.getAxisOperation().
> > > getMessageReceiver() == null) { 
> > >                    // Generate a new RM In Only operation
> > > +
> > >                    ServiceContext serviceCtx =
> > > responseMessageContext.getServiceContext();
> > >                    AxisOperation op = msgCtx.getAxisService().
> > > getOperation(new QName("RMInOnlyOperation"));
> > > -                  responseMsgOpCtx = new OperationContext(op,
> > > serviceCtx);
> > > +                  responseMsgOpCtx = ContextFactory. 
> > > createOperationContext (op, serviceCtx);
> > > +
> > >                 }
> > >
> > > responseMessageContext.setOperationContext(responseMsgOpCtx);
> > >
> > >
> > > 
> > > 
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: sandesha-dev-help@ws.apache.org
> > >
> >
> >
> >
> >
> >
> >
> > Unless stated otherwise above: 
> > IBM United Kingdom Limited - Registered in England and Wales with 
number
> > 741598.
> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
> 3AU
> >
> >
> >
> >
> > 
> 
> 
> 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU 
> 
> 
> 

> 






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







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


Re: [Axis2] Re: svn commit: r507097 - in /webservices/sandesha/trunk/java: config/ src/org/apache/sandesha2/msgprocessors/ src/org/apache/sandesha2/util/ src/org/apache/sandesha2/workers/

Posted by Nicholas L Gallardo <nl...@us.ibm.com>.
+1 based on the comments in the JIRA.

Regards,

Nicholas Gallardo
WebSphere  -  WebServices Development
nlgallar@us.ibm.com
Phone: 512-838-1182
Building: 901 / 5G-016



Matthew Lovett <ML...@uk.ibm.com> 
02/15/2007 09:16 AM
Please respond to
axis-dev@ws.apache.org


To
sandesha-dev@ws.apache.org, axis-dev@ws.apache.org
cc

Subject
[Axis2] Re: svn commit: r507097 - in /webservices/sandesha/trunk/java: 
config/ src/org/apache/sandesha2/msgprocessors/ 
src/org/apache/sandesha2/util/ src/org/apache/sandesha2/workers/






Hi all,

Chamikara and I have been discussing a Sandesha issue on sandesha-dev, and 

he's proposed a solution that needs a new Axis2 constant. I think that's 
probably the way to go, so I've opened a Jira:
https://issues.apache.org/jira/browse/AXIS2-2191

Please let me know if you have any comments, I hope to get a patch 
together soon.

Matt

"Chamikara Jayalath" <ch...@gmail.com> wrote on 15/02/2007 12:44:21:

> Hi Matt,
> 
> One way may be to introduce an property which if set causes the 
> optimization to be skipped. We can set this at the GlobalInHandler.
> 
> Chamikara
> 
> 

> On 2/15/07, Matthew Lovett <ML...@uk.ibm.com> wrote:
> Hi Chamikara,
> 
> I see what you are trying to avoid, but as you agreed - there are cases
> where this doesn't work. 2 examples:
> An in-only MEP with an anonymous acksTo (where we need to keep the
> backchannel) 
> An in-out MEP with a non-anonymous replyTo, but an anonymous acksTo
> (again, we need the backchannel)
> 
> I think perhaps the code in the DispatchPhase is jumping the gun a bit. 
I
> think that the RM Phase (e.g . our SandeshaInHandler) needs to decide if 

it 
> needs the transport, before this optimization can run. Perhaps the right
> thing to do is to move this block of logic into some point a little 
later
> on?
> 
> As for moving the RM ack logic earlier, e.g. up to the GlobalInHandler, 
> I'm not sure if we can do that. I recently moved some of the logic from
> the global handler down into the in handler becase it needed the 
operation
> to have been resolved. If we did store the inbound message here (and 
send 
> the ack) then I think that we'd need to modify the code so that it 
always
> uses an invoker, and do most of the processing downstream from there.
> Perhaps worth thinking about.
> 
> Thanks
> 
> Matt
> 
> "Chamikara Jayalath" <ch...@gmail.com> wrote on 14/02/2007 
23:36:53:
> 
> > Hi Matt, 
> 
> > On 2/14/07, Matthew Lovett < MLOVETT@uk.ibm.com> wrote:
> > Hi Chamikara,
> >
> > Can you explain the changes to the module.xml a bit for me? I'm afraid
> > that I don't quite follow your reasoning. Here's why:
> > 
> > If we are trying to change the server-side behaviour,
> >
> > Yes. Its the sever side that I'm trying to fix.
> >
> > that implies that
> > the server-side-servlet serving the request is confused by the "1-way" 


> ops
> > that produce a response. If that is the case then we haven't solved 
the
> > whole issue, as a user's 1-way op could result in an ackMessage that
> needs
> > to flow on the backchannel, and presumably the servlet would be just 
as 
> > confused by this! I think the only place to fix that would be in the
> > servlet itself, and that means that we could leave the module.xml 
alone
> -
> > with definitions that follow the spec.
> >
> >
> > The reason for this fix was the lines 71-91 of the DiapatchPhase
> > class. For InOnly messages the  transport headers get written (For
> > e.g. HTTP 202) before the messages reach our handler. Because of 
> > this whatever the response we write goes with the HTTP 202 response
> > code and that get ignored by the Axis2 client side.
> > The RequestResponseTransport.acknowledgeMessage() method hs been
> > fully implemented only for the Servlet case. So this is not visible 
> > in test cases (i.e. with SAS).
> >
> > Didn't get what u meant by 'definitions that follow the spec'.
> > AckRequested is actually an InOut message and it is correct to move
> > it there. Yes TerminateSequence is a problem, but we hv a scenario 
> > where it works as InOut.
> > As for the LastMessage, the latest interops with Msft showed that it
> > comes without a MessageID, so I guessed that it hs to be moved back
> > to the InOnly group.
> > 
> > Yes, the problem is still there for InOnly messages that needs an
> > Ack. May be we should do early acking at the GlobalInHandler. Or is
> > there a better way ?
> >
> > Chamikara
> >
> > 
> > If it isn't the service side, but actually the client side that we are
> > trying to fix, then the module.xml is not as relevant as the code in
> > SpecSpecificConstants::getWSRMOperationType. However, you didn't 
change 
> > that, so I'm assuming that it is server side that we need to worry
> about.
> >
> > Do you actually have a test case that is impacted by the module.xml
> change
> > you put in?
> >
> > Thanks 
> >
> > Matt
> >
> > chamikara@apache.org wrote on 13/02/2007 16:58:15:
> >
> > > Author: chamikara 
> > > Date: Tue Feb 13 08:58:14 2007
> > > New Revision: 507097 
> > >
> > > URL: http://svn.apache.org/viewvc?view=rev&rev=507097 
> > > Log:
> > > changed AckRequest, LastMessage and TerminateSequence ActionMappings 


> > > to the RMInOutOperation. Having them as InOnly caused
> > > the response to come with 202 in the Servlet case.
> > >
> > > Changed the places where we create contexts to use the 
ContextFactory. 
> > >
> > > Modified:
> > >     webservices/sandesha/trunk/java/config/client_axis2.xml
> > >     webservices/sandesha/trunk/java/config/module.xml
> > >     webservices/sandesha/trunk/java/config/server_axis2.xml 
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java
> > >
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java
> > >
> > > Modified: webservices/sandesha/trunk/java/config/client_axis2.xml
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/client_axis2.xml? 
> > > view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/client_axis2.xml 
(original) 
> 
> > > +++ webservices/sandesha/trunk/java/config/client_axis2.xml Tue Feb
> > > 13 08:58:14 2007
> > > @@ -96,6 +96,7 @@
> > >                       class="org.apache.axis2.transport.http .
> > > CommonsHTTPTransportSender">
> > >          <parameter name="PROTOCOL"
> locked="false">HTTP/1.1</parameter>
> > >          <parameter name="Transfer-Encoding" 
> > > locked="false">chunked</parameter>
> > > +        <!-- <parameter name="OmitSOAP12Action"
> > > locked="false">true</parameter> -->
> > >      </transportSender> 
> > >      <transportSender name="https"
> > >                       class="org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >
> > > Modified: webservices/sandesha/trunk/java/config/module.xml 
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/module.xml?
> > > view=diff&rev=507097&r1=507096&r2=507097 
> > > 
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/module.xml (original)
> > > +++ webservices/sandesha/trunk/java/config/module.xml Tue Feb 13 
> > 08:58:14 2007
> > > @@ -40,14 +40,10 @@
> > >          <messageReceiver class=" org.apache.sandesha2.msgreceivers.
> > > RMMessageReceiver"/>
> > >
> > >          <!-- namespaces for the 2005-02 spec --> 
> > > -        <actionMapping>http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/TerminateSequence</actionMapping> 
> > >          <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
> > > -        <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/AckRequested</actionMapping> 
> > > -        <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/LastMessage</actionMapping> 
> > >
> > >          <!-- namespaces for the 2006-08 spec --> 
> > >          <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/SequenceAcknowledgement</actionMapping> 
> > > -        <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/AckRequested</actionMapping>
> > >       </operation> 
> > >
> > >       <operation name="RMInOutOperation" mep=" http://www.w3.
> > > org/2006/01/wsdl/in-out">
> > > @@ -55,7 +51,17 @@
> > >
> > >          <!-- namespaces for the 2005-02 spec --> 
> > >          <actionMapping> http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/CreateSequence</actionMapping>
> > > -
> > > +        <actionMapping> http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/AckRequested</actionMapping>
> > > +
> > > +        <!--  For interoparability perposes. Some WSRM
> > > implementations tend to send this as the LastMessage, 
> > +
> > > replied with an ack -->
> > > +        <actionMapping>http://schemas.xmlsoap .
> > > org/ws/2005/02/rm/LastMessage</actionMapping>
> > > +        <actionMapping>http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/AckRequested</actionMapping> 
> > > +
> > > +        <!--  TerminateSequence works as a InOut in RM 1.0
> > > anonymous scenario -->
> > > +        <actionMapping>http://schemas.xmlsoap.
> > > org/ws/2005/02/rm/TerminateSequence</actionMapping>
> > > +
> > > +
> > >          <!-- namespaces for the 2006-08 spec -->
> > >          <actionMapping> http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/CreateSequence</actionMapping> 
> > >          <actionMapping>http://docs.oasis-open.org/ws-
> > > rx/wsrm/200608/CloseSequence</actionMapping> 
> > >
> > > Modified: webservices/sandesha/trunk/java/config/server_axis2.xml 
> > > URL: http://svn.apache.
> > > org/viewvc/webservices/sandesha/trunk/java/config/server_axis2.xml? 
> > > view=diff&rev=507097&r1=507096&r2=507097
> > > 
> >
> 
==============================================================================
> > > --- webservices/sandesha/trunk/java/config/server_axis2.xml 
(original)
> > > +++ webservices/sandesha/trunk/java/config/server_axis2.xml Tue Feb 
> > > 13 08:58:14 2007
> > > @@ -97,6 +97,7 @@
> > >                       class=" org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >          <parameter name="PROTOCOL" 
> locked="false">HTTP/1.1</parameter>
> > >          <parameter name="Transfer-Encoding"
> > > locked="false">chunked</parameter>
> > > +        <!-- <parameter name="OmitSOAP12Action" 
> > > locked="false">true</parameter> -->
> > >      </transportSender>
> > >      <transportSender name="https"
> > >                       class=" org.apache.axis2.transport.http.
> > > CommonsHTTPTransportSender">
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097 
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -30,6 +30,7 @@ 
> > >  import org.apache.axis2.Constants ;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext;
> > > @@ -184,8 +185,10 @@ 
> > >           if (rmMsgCtx.getMessageContext().getOperationContext() ==
> > null) {
> > >              // operation context will be null when doing in a 
GLOBAL
> > >              // handler.
> > > +
> > >              ServiceContext serviceCtx =
> msgContext.getServiceContext();
> > > -            OperationContext opCtx = new
> > > OperationContext(ackOperation, serviceCtx);
> > > +            OperationContext opCtx =  ContextFactory. 
> > > createOperationContext(ackOperation, serviceCtx);
> > > +
> > >              rmMsgCtx.getMessageContext 
().setOperationContext(opCtx);
> > >           }
> > >
> > > @@ -292,8 +295,11 @@ 
> > >              getRMVersion(),
> > >              getMsgContext().getAxisService());
> > >        getMsgContext().setAxisOperation(ackOperation);
> > > +
> > >        ServiceContext serviceCtx = 
> getMsgContext().getServiceContext();
> > > -      OperationContext opcontext = new
> > > OperationContext(ackOperation, serviceCtx);
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(ackOperation, serviceCtx); 
> > > +      opcontext.setParent(getMsgContext().getServiceContext());
> > > +
> > >        getConfigurationContext().
> > > registerOperationContext(ackRequestRMMsg.getMessageId (), 
opcontext); 
> > >        getMsgContext().setOperationContext(opcontext);
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -24,6 +24,7 @@ 
> > >  import org.apache.axiom.soap.SOAPFactory ;
> > >  import org.apache.axis2.AxisFault;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.description.AxisOperation;
> > > @@ -172,7 +173,10 @@ 
> > >              rmMsgCtx.getMessageContext().getAxisService());
> > >        getMsgContext().setAxisOperation(closeOperation);
> > >
> > > -      OperationContext opcontext = new
> > > OperationContext(closeOperation, 
getMsgContext().getServiceContext()); 
> > > +
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(closeOperation,
> > getMsgContext().getServiceContext());
> > > +      opcontext.setParent(getMsgContext().getServiceContext()); 
> > > +
> > >        getConfigurationContext().registerOperationContext(rmMsgCtx.
> > > getMessageId(),opcontext);
> > >        getMsgContext().setOperationContext(opcontext);
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java
> > > URL: http://svn.apache .
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > > 
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -7,8 +7,10 @@ 
> > >  import org.apache.axis2.AxisFault ;
> > >  import org.apache.axis2.Constants;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > > +import org.apache.axis2.context.OperationContextFactory;
> > >  import org.apache.axis2.description.AxisOperation;
> > >  import org.apache.axis2.description.TransportOutDescription ;
> > >  import org.apache.commons.logging.Log;
> > > @@ -144,7 +146,9 @@
> > >        OperationContext context = pollMessage.getMessageContext().
> > > getOperationContext();
> > >        if(context == null) {
> > >           AxisOperation oldOperation =
> returnMessage.getAxisOperation();
> > > -         context = new OperationContext(oldOperation, 
> > > returnMessage.getServiceContext());
> > > +
> > > +         context = ContextFactory.
> > > createOperationContext(oldOperation, returnMessage.
> > > getServiceContext()); //new OperationContext(oldOperation); 
> > > +
> > > context.addMessageContext(pollMessage.getMessageContext());
> > > pollMessage.getMessageContext().setOperationContext(context);
> > >        }
> > >
> > > Modified: 
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java
> > > URL: http://svn.apache.
> > > 
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -23,6 +23,7 @@
> > >  import org.apache.axis2.AxisFault ;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext ;
> > > +import org.apache.axis2.context.ContextFactory;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.OperationContextFactory ;
> > > @@ -366,9 +367,10 @@
> > >              Sandesha2Constants.MessageTypes.TERMINATE_SEQ ,
> > >              rmMsgCtx.getRMSpecVersion(),
> > >              getMsgContext().getAxisService()); 
> > > -      OperationContext opcontext = OperationContextFactory
> > > -            .createOperationContext(
> > > -                  WSDLConstants.MEP_CONSTANT_OUT_IN, terminateOp,
> > > getMsgContext().getServiceContext()); 
> > > +
> > > +      OperationContext opcontext = ContextFactory.
> > > createOperationContext(terminateOp,
> > getMsgContext().getServiceContext());
> > > +      opcontext.setParent(getMsgContext().getServiceContext()); 
> > > +
> > >        getConfigurationContext().registerOperationContext(rmMsgCtx.
> > > getMessageId(),   opcontext);
> > >
> > >        getMsgContext().setOperationContext(opcontext); 
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java
> > > URL: http://svn.apache .
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java (original) 
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -31,6 +31,7 @@
> > >  import org.apache.axis2.Constants;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext;
> > > +import org.apache.axis2.context.ContextFactory ;
> > >  import org.apache.axis2.context.MessageContext ;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext;
> > > @@ -354,8 +355,9 @@ 
> > >           // operation context will be null when doing in a GLOBAL
> > >           // handler.
> > >           AxisOperation op = ackMsgContext.getAxisOperation();
> > > +
> > >           ServiceContext serviceCtx = 
> ackMsgContext.getServiceContext();
> > > -         OperationContext opCtx = new OperationContext(op,
> serviceCtx);
> > > +         OperationContext opCtx = ContextFactory.
> > > createOperationContext(op, ackRMMsgContext.getMessageContext().
> > > getServiceContext());
> > > ackRMMsgContext.getMessageContext().setOperationContext(opCtx);
> > >        }
> > >
> > >
> > > Modified:
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java
> > > URL: http://svn.apache.
> > >
> >
> 
org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java?view=diff&rev=507097&r1=507096&r2=507097
> > >
> >
> 
==============================================================================
> > > ---
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java (original)
> > > +++
> > >
> >
> 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.
> > > java Tue Feb 13 08:58:14 2007
> > > @@ -11,6 +11,7 @@ 
> > >  import org.apache.axis2.addressing.AddressingConstants;
> > >  import org.apache.axis2.addressing.EndpointReference;
> > >  import org.apache.axis2.context.ConfigurationContext ;
> > > +import org.apache.axis2.context.ContextFactory;
> > >  import org.apache.axis2.context.MessageContext;
> > >  import org.apache.axis2.context.OperationContext;
> > >  import org.apache.axis2.context.ServiceContext ;
> > > @@ -522,9 +523,11 @@
> > >                 OperationContext responseMsgOpCtx = requestMsgOpCtx;
> > >                 if (requestMsgOpCtx.getAxisOperation().
> > > getMessageReceiver() == null) { 
> > >                    // Generate a new RM In Only operation
> > > +
> > >                    ServiceContext serviceCtx =
> > > responseMessageContext.getServiceContext();
> > >                    AxisOperation op = msgCtx.getAxisService().
> > > getOperation(new QName("RMInOnlyOperation"));
> > > -                  responseMsgOpCtx = new OperationContext(op,
> > > serviceCtx);
> > > +                  responseMsgOpCtx = ContextFactory. 
> > > createOperationContext (op, serviceCtx);
> > > +
> > >                 }
> > >
> > > responseMessageContext.setOperationContext(responseMsgOpCtx);
> > >
> > >
> > > 
> > > 
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: sandesha-dev-help@ws.apache.org
> > >
> >
> >
> >
> >
> >
> >
> > Unless stated otherwise above: 
> > IBM United Kingdom Limited - Registered in England and Wales with 
number
> > 741598.
> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
> 3AU
> >
> >
> >
> >
> > 
> 
> 
> 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU 
> 
> 
> 

> 






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







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