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, 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. 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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
