Folks,
Simple answer to Scott's questions:
On 26/07/2011 16:08, Scott Kurz wrote:
Trying to understand myself as the spec doesn't seem crystal clear...
I assume we'd agree also that the answer should be the same for this variation:
composite B with component C2
<service name="S1Promoted" promote="C2">
<binding.ws/> <!-- Binding now specified on composite service -->
</service>
<component name="C2">
<implementation.java class="..."/>
<service name="S1">
<binding.ws/>
</service>
</component>
In contrast, suppose we that composite A with component C1 did not
explicitly specify
<binding.sca>, e.g.:
<component name="C1">
<implementation.composite name="B"/>
<service name="S1Promoted"/>
</component>
Should this be<binding.ws> then?
YES
Does it matter whether B's
composite-level service has the binding or not?
NO - if the component service has one or more bindings specified.
YES - if the component service has zero bindings specified.
Scott
To quote chapter & verse from the OASIS Assembly spec (line numbers for CD06):
770 ... If no
771 binding elements are specified for the service, then the bindings specified for the equivalent
service in
772 the componentType of the implementation MUST be used, but if the
componentType also has no
773 bindings specified, then <binding.sca/> MUST be used as the binding. If
binding elements are
774 specified for the service, then those bindings MUST be used and they
override any bindings specified
775 for the equivalent service in the componentType of the implementation.
[ASM50005]
Yours, Mike.