Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Java-SCA-1.2
-
None
-
WinXP SP2 IBM JDK 5.0
Description
The following recursive composition (dervied from that in itest/recursive-ws) does not work as the builder cannot match the reference binding to a service binding.
<component name="TargetClientComponent">
<implementation.java class="policy.TargetClientImpl"/>
<reference name="targetService" target="OuterTargetServiceComponent">
<binding.ws/>
</reference>
</component>
<component name="OuterTargetServiceComponent">
<implementation.composite name="policy:PolicyInnerComposite"/>
<service name="TargetService">
<interface.java interface="policy.Target"/>
<binding.ws uri="http://localhost:8085/OuterTargetServiceComponent"/>
</service>
</component>
And PolicyInnerComposite
<service name="TargetService" promote="TargetServiceComponent">
</service>
<component name="TargetServiceComponent">
<implementation.java class="policy.TargetServiceImpl"/>
</component>
I also doesn't work if you move the binding down to the inner composite service (TargetService)
It does work if you move the binding down to the inner component service
There is is code in EndpointBuilderImpl which replaces the outer endpoint target with the inner endpoint target. This seems suspect and requires further investigation.