diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-08-11 17:16:46 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-08-11 17:16:46 +0000 |
commit | 2be56481c55ba5e04d51142499a6dce05175945e (patch) | |
tree | 5c696314578d06ca782e4f726a94358e25c3d65d /branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding | |
parent | 52ce80378090f15b7b658ff526e29cc1462f8d7b (diff) |
TUSCANY-3166 - Workarounding interface.wsdl issues by finding the correspondent java interface contract when wsdl intrface is used
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@803210 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding')
-rw-r--r-- | branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java b/branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java index 0a5a90204e..d794dd4ee8 100644 --- a/branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java +++ b/branches/sca-java-1.5.1/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java @@ -19,10 +19,12 @@ package org.apache.tuscany.sca.binding.atom.provider; +import org.apache.tuscany.sca.assembly.Service; import org.apache.tuscany.sca.binding.atom.AtomBinding; import org.apache.tuscany.sca.databinding.Mediator; import org.apache.tuscany.sca.host.http.ServletHost; import org.apache.tuscany.sca.interfacedef.InterfaceContract; +import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; import org.apache.tuscany.sca.invocation.MessageFactory; import org.apache.tuscany.sca.provider.ServiceBindingProvider; import org.apache.tuscany.sca.runtime.RuntimeComponent; @@ -37,6 +39,7 @@ import org.apache.tuscany.sca.runtime.RuntimeWire; class AtomServiceBindingProvider implements ServiceBindingProvider { private RuntimeComponentService service; + private InterfaceContract serviceContract; private AtomBinding binding; private ServletHost servletHost; private MessageFactory messageFactory; @@ -56,10 +59,22 @@ class AtomServiceBindingProvider implements ServiceBindingProvider { this.servletHost = servletHost; this.messageFactory = messageFactory; this.mediator = mediator; + + // TUSCANY-3166 + this.serviceContract = service.getInterfaceContract(); + if (this.serviceContract instanceof WSDLInterfaceContract) { + for (Service componentService : component.getImplementation().getServices()) { + if (componentService.getName().equals(service.getName())) { + this.serviceContract = (InterfaceContract) componentService.getInterfaceContract(); + break; + } + } + + } } public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); + return serviceContract; } public boolean supportsOneWayInvocation() { |