[ 
https://issues.apache.org/jira/browse/TUSCANY-3941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Laws reassigned TUSCANY-3941:
-----------------------------------

    Assignee: Simon Laws

> Reference with <binding.sca uri="targetService> may be resolved with another 
> binding when target service is exposed over multiple bindings
> ------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3941
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3941
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Assembly Model
>    Affects Versions: Java-SCA-2.x
>            Reporter: Scott Kurz
>            Assignee: Simon Laws
>            Priority: Minor
>
> If I have a service exposed over multiple bindings (including binding.sca) 
> and I target it from component reference:
>  <reference name="xxx">
>      <binding.sca uri="targetService"/>
>  </reference>
> then the runtime should use binding.sca to perform the invocation.     
> However, I'm noticing this isn't always the case.    It seems that the 
> runtime is treating this case similar to:
>  <reference name="xxx" target="targetService"/>
> in which case it is up to the runtime to pick the binding (if there are no 
> other intents, etc.).  
> In a couple tests I've run the runtime seems to pick the first binding in 
> order listed in the target service SCDL, which is wrong when the 
> resolution is done with binding child elements rather than the @target attr.
> -----
> One itest I happen to have just worked with which can be used to recreate 
> this is the set of tests in testing/itest/data-copy.
> If, starting from that directory, I change 
> client/src/main/resources/helloworld-client.composite to: 
>     ...
>    <component name="ClientSCA">
>       <implementation.java class="itest.client.impl.ClientImpl"/>
>       <reference name="service">
>           <binding.sca uri="Service"/>
>        ...
> then I will still get binding.sca on this invocation, since in 
> service/src/main/resources/helloworld-service.composite I have:
>     <component name="Service">
>        <implementation.java class="itest.service.impl.ServiceImpl"/>
>        <service name="ServiceIntf">
>            <binding.sca name="sca"/>
>            <binding.ws name="ws" 
> uri="http://localhost:8085/Service/ServiceIntf"/>
>             ....
> However, if I switch the order of <binding.sca>, <binding.ws>  in the service 
> SCDL, I will end up getting binding.ws on the invocation.
> (Note you should need the debugger or some other method... I don't recall the 
> test is designed to fail if the "wrong" binding is used). 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to