diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/node-api/src')
2 files changed, 18 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java index 1dfaea6a0a..eeb6f038a0 100644 --- a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java +++ b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java @@ -80,4 +80,11 @@ public interface Node { * @return a ServiceReference for the designated service */ <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String serviceName); + + /** + * Returns the URI for the given service binding endpoint + * @param serviceBindingName It can be the componentName/<serviceName>/<bindingName> + * @return + */ + String getEndpointAddress(String serviceBindingName); } diff --git a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java index 10b49bae4a..0965f9bc79 100644 --- a/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java +++ b/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java @@ -154,6 +154,17 @@ public abstract class NodeFactory extends DefaultNodeConfigurationFactory { } } + @Override + public String getEndpointAddress(String serviceBindingName) { + try { + return (String)node.getClass().getMethod("getEndpointAddress", String.class) + .invoke(node, serviceBindingName); + } catch (Throwable e) { + handleException(e); + return null; + } + } + } /** |