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());
}
}