diff options
Diffstat (limited to 'sca-java-2.x/branches/2.0-Beta3/modules/core')
-rw-r--r-- | sca-java-2.x/branches/2.0-Beta3/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sca-java-2.x/branches/2.0-Beta3/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java b/sca-java-2.x/branches/2.0-Beta3/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java index b8c205bb28..db12ed14d9 100644 --- a/sca-java-2.x/branches/2.0-Beta3/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java +++ b/sca-java-2.x/branches/2.0-Beta3/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/ComponentContextImpl.java @@ -362,7 +362,14 @@ public class ComponentContextImpl implements RuntimeComponentContext { try { if (businessInterface == null) { InterfaceContract contract = endpoint.getBindingInterfaceContract(); - businessInterface = (Class<B>)((JavaInterface)contract.getInterface()).getJavaClass(); + if (contract.getInterface() instanceof JavaInterface) { + businessInterface = (Class<B>)((JavaInterface)contract.getInterface()).getJavaClass(); + } else { + contract = endpoint.getComponentTypeServiceInterfaceContract(); + if (contract.getInterface() instanceof JavaInterface) { + businessInterface = (Class<B>)((JavaInterface)contract.getInterface()).getJavaClass(); + } + } } RuntimeEndpointReference ref = (RuntimeEndpointReference)createEndpointReference(endpoint, businessInterface); |