From f46bb6227703a0be5121628bc4a8d987be74a1cb Mon Sep 17 00:00:00 2001 From: slaws Date: Tue, 13 Jul 2010 15:17:41 +0000 Subject: Fixes to set the callback interface based on the interface constructed when the @Callback WSDL annotations is processed. Makes BWS_2022 work. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@963756 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java | 7 +++++-- .../sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'sca-java-2.x/trunk/modules/core/src/main/java/org/apache') diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java index 4809241432..ce50c6223e 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java @@ -482,19 +482,22 @@ public class RuntimeEndpointImpl extends EndpointImpl implements RuntimeEndpoint if ((serviceContract != null) && (bindingContract != null)){ + + boolean bindingHasCallback = bindingContract.getCallbackInterface() != null; + try { if ((serviceContract.getClass() != bindingContract.getClass()) && (serviceContract instanceof JavaInterfaceContract)) { interfaceContractMapper.checkCompatibility(getGeneratedWSDLContract(serviceContract), bindingContract, Compatibility.SUBSET, - true, // we ignore callbacks as binding iface won't have one + !bindingHasCallback, // ignore callbacks if binding doesn't have one false); } else { interfaceContractMapper.checkCompatibility(serviceContract, bindingContract, Compatibility.SUBSET, - true, // we ignore callbacks as binding iface won't have one + !bindingHasCallback, // ignore callbacks if binding doesn't have one false); } } catch (Exception ex){ diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java index 531e4634e1..3873185e6b 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointReferenceImpl.java @@ -325,6 +325,8 @@ public class RuntimeEndpointReferenceImpl extends EndpointReferenceImpl implemen if ((referenceContract != null) && (bindingContract != null)){ + + boolean bindingHasCallback = bindingContract.getCallbackInterface() != null; try { @@ -333,13 +335,13 @@ public class RuntimeEndpointReferenceImpl extends EndpointReferenceImpl implemen interfaceContractMapper.checkCompatibility(getGeneratedWSDLContract(referenceContract), bindingContract, Compatibility.SUBSET, - true, // we ignore callbacks as binding iface won't have one + !bindingHasCallback, // ignore callbacks if binding doesn't have one false); } else { interfaceContractMapper.checkCompatibility(referenceContract, bindingContract, Compatibility.SUBSET, - true, // we ignore callbacks as binding iface won't have one + !bindingHasCallback, // ignore callbacks if binding doesn't have one false); } -- cgit v1.2.3