Author: mriou
Date: Thu Aug  9 17:35:47 2007
New Revision: 564443

URL: http://svn.apache.org/viewvc?view=rev&rev=564443
Log:
ODE-154 Added wsa:ReplyTo and wsa:MessageID headers for request/response mexp.

Modified:
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java

Modified: 
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java?view=diff&rev=564443&r1=564442&r2=564443
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java 
(original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ExternalService.java Thu 
Aug  9 17:35:47 2007
@@ -43,6 +43,7 @@
 import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
 import org.apache.ode.bpel.iapi.Scheduler;
 import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.uuid.UUID;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -94,7 +95,7 @@
             // Override options are passed to the axis MessageContext so we can
             // retrieve them in our session out handler.
             MessageContext mctx = new MessageContext();
-            writeHeader(mctx.getOptions(), odeMex);
+            writeHeader(mctx, odeMex);
 
             _converter.createSoapRequest(mctx, 
odeMex.getRequest().getMessage(), odeMex.getOperation());
 
@@ -183,13 +184,13 @@
             __log.error(errmsg, axisFault);
             
odeMex.replyWithFailure(MessageExchange.FailureType.COMMUNICATION_ERROR, 
errmsg, null);
         }
-
     }
 
     /**
      * Extracts endpoint information from ODE message exchange to stuff them 
into Axis MessageContext.
      */
-    private void writeHeader(Options options, PartnerRoleMessageExchange 
odeMex) {
+    private void writeHeader(MessageContext ctxt, PartnerRoleMessageExchange 
odeMex) {
+        Options options = ctxt.getOptions();
         WSAEndpoint targetEPR = EndpointFactory.convertToWSA((MutableEndpoint) 
odeMex.getEndpointReference());
         WSAEndpoint myRoleEPR = EndpointFactory.convertToWSA((MutableEndpoint) 
odeMex.getMyRoleEndpointReference());
 
@@ -214,10 +215,16 @@
                 }
                 myRoleEPR.setSessionId(myRoleSessionId);
             }
-
             options.setProperty("callbackSessionEndpoint", 
odeMex.getMyRoleEndpointReference());
         } else {
             __log.debug("My-Role EPR not specified, SEP will not be used.");
+        }
+
+        if (MessageExchange.MessageExchangePattern.REQUEST_RESPONSE == 
odeMex.getMessageExchangePattern()) {
+            EndpointReference annonEpr =
+                    new 
EndpointReference("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous";);
+            ctxt.setReplyTo(annonEpr);
+            ctxt.setMessageID("uuid:"+new UUID().toString());
         }
     }
 


Reply via email to