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 pr...@apache.org on 2007/02/23 18:50:37 UTC

svn commit: r511038 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java

Author: pradine
Date: Fri Feb 23 09:50:36 2007
New Revision: 511038

URL: http://svn.apache.org/viewvc?view=rev&rev=511038
Log:
Only set a ReplyTo and a MessageID on async response messages.

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java?view=diff&rev=511038&r1=511037&r2=511038
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java Fri Feb 23 09:50:36 2007
@@ -70,7 +70,6 @@
         newmsgCtx.setSessionContext(inMessageContext.getSessionContext());
         newmsgCtx.setTransportIn(inMessageContext.getTransportIn());
         newmsgCtx.setTransportOut(inMessageContext.getTransportOut());
-        newmsgCtx.setMessageID(UUIDGenerator.getUUID());
         newmsgCtx.setServerSide(inMessageContext.isServerSide());
         newmsgCtx.addRelatesTo(new RelatesTo(inMessageContext.getOptions().getMessageId()));
 
@@ -136,6 +135,8 @@
             else
                 newmsgCtx.setReplyTo(new EndpointReference(AddressingConstants.Final.WSA_NONE_URI));
             
+            newmsgCtx.setMessageID(UUIDGenerator.getUUID());
+
             // add the service group id as a reference parameter
             String serviceGroupContextId = inMessageContext.getServiceGroupContextId();
             if (serviceGroupContextId != null && !"".equals(serviceGroupContextId)) {
@@ -144,7 +145,12 @@
                         Constants.SERVICE_GROUP_ID, Constants.AXIS2_NAMESPACE_PREFIX), serviceGroupContextId);
             }
         } else {
-            newmsgCtx.setReplyTo(new EndpointReference(AddressingConstants.Final.WSA_NONE_URI));
+            // Only set a ReplyTo and a MessageId on async response messages. 
+            EndpointReference outboundToEPR = newmsgCtx.getTo();
+            if (outboundToEPR != null && !outboundToEPR.hasAnonymousAddress()) {
+                newmsgCtx.setMessageID(UUIDGenerator.getUUID());
+                newmsgCtx.setReplyTo(new EndpointReference(AddressingConstants.Final.WSA_NONE_URI));
+            }
         }
 
         // Set wsa:Action for response message
@@ -201,7 +207,7 @@
             return faultMessageContext;
           }
         }
-        
+
         // Create a basic response MessageContext with basic fields copied
         MessageContext faultContext = createResponseMessageContext(processingContext);
 
@@ -218,9 +224,6 @@
 
         faultContext.setProcessingFault(true);
 
-        // Not worth setting up the session information on a fault flow
-        faultContext.setReplyTo(new EndpointReference(AddressingConstants.Final.WSA_NONE_URI));
-
         // Set wsa:Action for response message
         // Use specified value if available
         AxisOperation op = processingContext.getAxisOperation();
@@ -247,8 +250,17 @@
         } else {
             faultContext.setTo(processingContext.getReplyTo());
         }
+        
         if(faultContext.getTo() == null){
             faultContext.setTo(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
+        }
+
+        // Not worth setting up the session information on a fault flow
+        // Only set a ReplyTo and a MessageId on async response messages. 
+        EndpointReference outboundToEPR = faultContext.getTo();
+        if (outboundToEPR != null && !outboundToEPR.hasAnonymousAddress()) {
+            faultContext.setMessageID(UUIDGenerator.getUUID());
+            faultContext.setReplyTo(new EndpointReference(AddressingConstants.Final.WSA_NONE_URI));
         }
 
         // do Target Resolution



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