summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2012-03-22 23:19:17 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2012-03-22 23:19:17 +0000
commitf98e8159640f2e47b17756d2d8433330919e858e (patch)
treedc0b66765e25454c321e5412e559136f1ab436f3 /sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache
parent73da1fdb893118d67777a2e8962965d2336ca6e2 (diff)
Fix the binding invokers to use endpoint reference's deployed URI (i.e., the target service endpoint address)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1304128 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache')
-rw-r--r--sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingInvoker.java7
-rw-r--r--sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTReferenceBindingProvider.java2
2 files changed, 6 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingInvoker.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingInvoker.java
index 36beb707d7..7827092501 100644
--- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingInvoker.java
+++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTBindingInvoker.java
@@ -55,6 +55,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import org.apache.http.client.HttpClient;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.assembly.WireFormat;
import org.apache.tuscany.sca.binding.rest.RESTBinding;
import org.apache.tuscany.sca.binding.rest.wireformat.json.JSONWireFormat;
@@ -77,15 +78,17 @@ import org.apache.wink.client.handlers.BasicAuthSecurityHandler;
*/
public class RESTBindingInvoker implements Invoker {
private ExtensionPointRegistry registry;
+ private EndpointReference endpointReference;
private RESTBinding binding;
private Operation operation;
private RestClient restClient;
private String httpMethod;
private Class<?> responseType;
- public RESTBindingInvoker(ExtensionPointRegistry registry, RESTBinding binding, Operation operation, HttpClient httpClient) {
+ public RESTBindingInvoker(ExtensionPointRegistry registry, EndpointReference endpointReference, RESTBinding binding, Operation operation, HttpClient httpClient) {
super();
this.registry = registry;
+ this.endpointReference = endpointReference;
this.binding = binding;
this.operation = operation;
this.restClient = createRestClient(httpClient);
@@ -165,7 +168,7 @@ public class RESTBindingInvoker implements Invoker {
Object entity = null;
Object[] args = msg.getBody();
- URI uri = URI.create(binding.getURI());
+ URI uri = URI.create(endpointReference.getDeployedURI());
UriBuilder uriBuilder = UriBuilder.fromUri(uri);
Method method = ((JavaOperation)operation).getJavaMethod();
diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTReferenceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTReferenceBindingProvider.java
index 71d7aa79ba..07dbeafce6 100644
--- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTReferenceBindingProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTReferenceBindingProvider.java
@@ -50,7 +50,7 @@ public class RESTReferenceBindingProvider implements EndpointReferenceProvider {
}
public Invoker createInvoker(Operation operation) {
- return new RESTBindingInvoker(registry, (RESTBinding)endpointReference.getBinding(), operation, httpClient);
+ return new RESTBindingInvoker(registry, endpointReference, (RESTBinding)endpointReference.getBinding(), operation, httpClient);
}
public InterfaceContract getBindingInterfaceContract() {