Problems building the wire for a service implemented by Composite
-----------------------------------------------------------------
Key: TUSCANY-2189
URL: https://issues.apache.org/jira/browse/TUSCANY-2189
Project: Tuscany
Issue Type: Bug
Components: Java SCA Core Runtime
Reporter: Scott Kurz
Fix For: Java-SCA-Next
Attachments: test.2189.jar
Take something like this:
<composite name="OuterComposite">
<component name="OuterCalculatorComponent">
<service name="OuterCalculatorService">
<binding.ws wsdlElement="...."/>
</service>
<implementation.composite name="calc:InnerComposite"/>
</component>
</composite>
<composite name="InnerComposite">
<service name="OuterCalculatorService"
promote="CalculatorComponent/CalculatorService"/>
<component name="CalculatorComponent">
<service name="CalculatorService"/>
<implementation.java class="calculator.CalculatorServiceImpl"/>
</component>
</composite>
------------------------------------------
I'm noticing that the wireTarget that ends up getting built for the wire from
the OuterCalculatorService service-side WS binding into the impl has a
wireTarget
with a Composite impl. This causes a problem when
RuntimeWireImpl.initInvocationChains() calls addImplementationInterceptor();
we need a non-composite impl (Java impl) at this point to set up the
interceptor on the chain.
Might it be appropriate to do something like what's done in
CompositeWireBuilderImpl.connectComponentReferences(), where we drill down
recursively to unwrap the Composite impl services?
I looked at the 'recursive' itest and didn't see anything besides
binding.sca... so maybe we don't think we've gotten to this yet.
In the cases it does work, with binding.sca, we must somehow be connected to
the "inner"-layer wire from the component in the nested Composite.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]