diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-15 12:50:54 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-15 12:50:54 +0000 |
commit | 7ab7b9c9a1229b5c108c054d3a2a95debeec7c36 (patch) | |
tree | 3f8db0d63ed616483e8b496a9c5f525514033a95 /java/sca/modules/binding-ws-axis2/src | |
parent | 1cffd7e2158fe10b538dfffdc0809d5ef5bca493 (diff) |
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
Diffstat (limited to 'java/sca/modules/binding-ws-axis2/src')
2 files changed, 7 insertions, 4 deletions
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 |