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 mc...@apache.org on 2008/06/19 12:21:21 UTC
svn commit: r669443 - in
/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors:
ApplicationMsgProcessor.java SequenceProcessor.java
Author: mckierna
Date: Thu Jun 19 03:21:19 2008
New Revision: 669443
URL: http://svn.apache.org/viewvc?rev=669443&view=rev
Log:
See JIRA https://issues.apache.org/jira/browse/SANDESHA2-159
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=669443&r1=669442&r2=669443&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Thu Jun 19 03:21:19 2008
@@ -22,6 +22,7 @@
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.RelatesTo;
import org.apache.axis2.context.ConfigurationContext;
@@ -249,7 +250,7 @@
if(!policy.isEnableMakeConnection()) {
String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.makeConnectionDisabled);
throw new SandeshaException(message);
- }
+ }
}
}
}
@@ -388,7 +389,14 @@
// We have rewritten the replyTo. If this is the first message that we have needed to
// rewrite then we should set the sequence up for polling, and once we have saved the
// changes to the sequence then we can start the polling thread.
+
+ //Firstly, we are going to use make connection in this configuration so we should now ensure that
+ //WS-Adressing is enabled
+ if (log.isDebugEnabled()) log.debug("Ensuring that WS-A is enabled for msg " + msgContext);
+ msgContext.setProperty(AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES,Boolean.FALSE);
msgContext.setReplyTo(newReplyTo);
+
+ //start the polling process to pull back response messages
if (!rmsBean.isPollingMode()) {
rmsBean.setPollingMode(true);
startPolling = true;
Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?rev=669443&r1=669442&r2=669443&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Thu Jun 19 03:21:19 2008
@@ -231,12 +231,13 @@
EndpointReference acksTo = bean.getAcksToEndpointReference();
// Send an Ack if needed.
- //We are not sending acks for duplicate messages in the RM 1.0 anon InOut case.
+ //We are not sending acks for duplicate messages in the anon InOut case.
//If a standalone ack get sent before the actualy message (I.e. before the original msg get
//replied), the client may take this as a InOnly message and may avoid looking for the application
- //response.
- if (!(Sandesha2Constants.SPEC_VERSIONS.v1_0.equals(rmMsgCtx.getRMSpecVersion()) &&
- rmMsgCtx.getReplyTo().hasAnonymousAddress())) {
+ //response if using replay.
+ //Therefore we only send acks back in the anon InOnly case.
+ if (WSDLConstants.MEP_CONSTANT_IN_ONLY == rmMsgCtx.getMessageContext().getAxisOperation().getAxisSpecificMEPConstant() &&
+ (replyTo==null || replyTo.getAddress()==null || replyTo.isWSAddressingAnonymous() )) {
sendAckIfNeeded(bean, sequenceId, rmMsgCtx, storageManager, true, acksTo.hasAnonymousAddress());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org