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]

Reply via email to