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