You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2007/02/20 15:44:50 UTC

svn commit: r509583 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: engine/AddressingBasedDispatcher.java i18n/resource.properties

Author: davidillsley
Date: Tue Feb 20 06:44:49 2007
New Revision: 509583

URL: http://svn.apache.org/viewvc?view=rev&rev=509583
Log:
Improve error reporting when duplicate response messages
are received and recognised by Axis2 (occurs occasionally
when using Sandesha2)

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AddressingBasedDispatcher.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AddressingBasedDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AddressingBasedDispatcher.java?view=diff&rev=509583&r1=509582&r2=509583
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AddressingBasedDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AddressingBasedDispatcher.java Tue Feb 20 06:44:49 2007
@@ -14,28 +14,29 @@
 * limitations under the License.
 */
 
-
 package org.apache.axis2.engine;
 
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.*;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.HandlerDescription;
 import org.apache.axis2.description.WSDL2Constants;
-import org.apache.axis2.description.AxisEndpoint;
-import org.apache.axis2.description.AxisBindingOperation;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.util.Utils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import javax.xml.namespace.QName;
-import java.util.Map;
-
 /**
  * Dispatcher based on the WS-Addressing properties.
  */
@@ -134,7 +135,7 @@
             String relatesTo = msgctx.getRelatesTo().getValue();
 
             if(isDebugEnabled){
-            log.debug(msgctx.getLogIDString()+" "+Messages.getMessage("checkingrelatesto",
+            	log.debug(msgctx.getLogIDString()+" "+Messages.getMessage("checkingrelatesto",
                     relatesTo));
             }
             if ((relatesTo != null) || "".equals(relatesTo)) {
@@ -143,6 +144,11 @@
                                 .getOperationContext(msgctx.getRelatesTo().getValue());
 
                 if (operationContext != null) {
+                	if(operationContext.isComplete()){
+                		// If the dispatch happens because of the RelatesTo and the mep is complete
+                		// we should throw a more descriptive fault.
+                		throw new AxisFault(Messages.getMessage("duplicaterelatesto",relatesTo));
+                	}
                     msgctx.setAxisOperation(operationContext.getAxisOperation());
                     msgctx.setOperationContext(operationContext);
                     msgctx.setServiceContext((ServiceContext) operationContext.getParent());

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties?view=diff&rev=509583&r1=509582&r2=509583
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/i18n/resource.properties Tue Feb 20 06:44:49 2007
@@ -237,3 +237,4 @@
 CannotConfigureAxis2=The system cannot configure Axis2.
 wsaddressingrequirednotpresent=WS-Addressing is required, but it cannot be found.
 nomessagereciever=Message Receiver not found for AxisOperation: {0}
+duplicaterelatesto=The message is a duplicate (has the same reply relationship value) of an already processed message. RelatesTo = {0}



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