From 7ab7b9c9a1229b5c108c054d3a2a95debeec7c36 Mon Sep 17 00:00:00 2001 From: slaws Date: Mon, 15 Jun 2009 12:50:54 +0000 Subject: TUSCANY-3093 - changes required to pass the callback endpoint URI in the from field of the web service WSA header "from" element. Includes associated changes to do something useful with this URI. There are changes here I had to make that push on the meaning of the InterfaceContract in endpoints and endpoint references. Needs further discussion. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@784759 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java | 2 +- .../tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'java/sca/modules/binding-ws-axis2/src') diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java index 0f8ce0a600..46c97e7553 100644 --- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java +++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java @@ -251,7 +251,7 @@ public class Axis2BindingInvoker implements Invoker, DataExchangeSemantics { // add WS-Addressing header //FIXME: is there any way to use the Axis2 addressing support for this? if (callbackEndpoint != null) { - EndpointReference fromEPR = new EndpointReference(callbackEndpoint.getBinding().getURI()); + EndpointReference fromEPR = new EndpointReference(callbackEndpoint.getURI()); SOAPEnvelope sev = requestMC.getEnvelope(); SOAPHeader sh = sev.getHeader(); OMElement epr = diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java index 780c11a577..cd3a6b38b8 100644 --- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java +++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java @@ -806,14 +806,17 @@ public class Axis2ServiceProvider { //fill message with QoS context info fillQoSContext(msg, inMC); - // if reference parameters are needed, create a new "From" EPR to hold them + // Create a from EPR to hold the details of the callback endpoint EndpointReference from = null; if (callbackAddress != null ) { from = assemblyFactory.createEndpointReference(); Endpoint fromEndpoint = assemblyFactory.createEndpoint(); from.setTargetEndpoint(fromEndpoint); - // TODO - EPR - need to set callback address - msg.setFrom(from); + msg.setFrom(from); + Endpoint callbackEndpoint = assemblyFactory.createEndpoint(); + callbackEndpoint.setURI(callbackAddress); + callbackEndpoint.setUnresolved(true); + from.setCallbackEndpoint(callbackEndpoint); } /* TODO - EPR - not required in OASIS -- cgit v1.2.3