[ 
https://issues.apache.org/jira/browse/TUSCANY-2324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604207#action_12604207
 ] 

Simon Laws commented on TUSCANY-2324:
-------------------------------------

Is there a test case for this issue that shows the problem? I'm eyeballing the 
code and its interesting as the code that processes promotion on the reference 
side works differently to the code that processes promotion on the service 
side. On the reference side it only copies the bindings down. On the service 
side it does interface contracts also. 

> InterfaceContract is not pushed down to an inner, promoted component 
> reference only with Axis2 binding 
> -------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2324
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2324
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension
>            Reporter: Scott Kurz
>            Priority: Minor
>
> If we take the following example where an inner component reference is 
> overridden in two ways by the outer component using the inner Composite as 
> impl:
>  1) a <binding.ws> is added
>  2) a WSDL intf (compatible with the inner Java intf) is declared 
> <composite ...   name="OuterComposite">
>     <component name="OuterComponent">
>         <implementation.composite name="blah:InnerComposite"/>
>         <reference name="outerRef" target="MyTarget">
>             <interface.wsdl 
> interface="http://blah#wsdl.interface(HelloWorld)" />
>             <binding.ws/>
>         </reference>
>     </component>
> </composite
> <composite ....           name="InnerComposite">
>         <component name="InnerComponent">
>             <implementation.java .../>
>             <reference name="helloWorldService">
>                 <interface.java 
> interface="test.sca.w2j.ws.statc.exc.helloworld.HelloWorld"/>
>             </reference>
>         </component>
>         <reference name="outerRef" 
> promote="InnerComponent/helloWorldService"/>
> </composite>
> we have a problem.  
> The CompositeActivatorImpl is going to start an Axis2ReferenceBindingProvider 
> for the inner Composite ref.      The WS binding is propagated down or 
> inwards, you could say.    But this WS binding has a null IC, so we're going 
> to look at the component ref IC, but this will be the inner component ref IC, 
> which is a Java IC.     This kicks off a Java2WSDL and the new WSDL IC 
> becomes the Axis2 ref binding IC.
> So the generated WSDL may not match the actual WSDL, which is a problem.
> Of course, if we had included a wsdlElement (e.g. wsdl.port ) on the outer 
> component's <binding.ws/> we would not have had a problem;  it would have 
> been propagated inwards along with the binding itself.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to