diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-03 11:26:33 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-03 11:26:33 +0000 |
commit | 95d8fbabf48b6cf93a8450dbca4b11809874f8d4 (patch) | |
tree | 04139ce370a531bbfd5b9b3918fb6eb88eb31b7b /java | |
parent | 75558fef044008f76c928637fc59f1516cc3faf0 (diff) |
Fix the RMI binding to find the service wire when its being used as the SCA binding. This is copied from the way the Axis2 binding also works and Ive added a TODO comment as it would be good to have a better way to do this.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@832396 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r-- | java/sca/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/java/sca/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java b/java/sca/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java index c572b4e19b..d185780ed8 100644 --- a/java/sca/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java +++ b/java/sca/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java @@ -33,6 +33,7 @@ import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import org.apache.tuscany.sca.assembly.Endpoint; +import org.apache.tuscany.sca.assembly.SCABinding; import org.apache.tuscany.sca.binding.rmi.RMIBinding; import org.apache.tuscany.sca.common.java.classloader.ClassLoaderDelegate; import org.apache.tuscany.sca.host.rmi.RMIHost; @@ -74,6 +75,20 @@ public class RMIServiceBindingProvider implements ServiceBindingProvider { // binding.setURI(uri.toString()); wire = service.getRuntimeWire(binding); + + // TODO - must be a better way to do this, which is copied from the Axis2ServiceProvider + // TODO - EPR - if there is no wire then find the wire for the SCA binding + // because this WS endpoint is providing remote support for the + // SCA binding + if (wire == null){ + for(RuntimeWire tmpWire : service.getRuntimeWires()){ + if (tmpWire.getEndpoint().getBinding() instanceof SCABinding){ + wire = tmpWire; + break; + } + } + } + Interface serviceInterface = service.getInterfaceContract().getInterface(); rmiProxy = createRmiService(serviceInterface); |