Should this work?


<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.

Thanks,
Scott

Reply via email to