Hi Raymond Prior to your changes the logic is pretty dumb. After the component type build the binding URI builder takes a second pass through the hierarchy and sets non-null binding names to the reference or service name as appropriate.
In your case it you've copied a binding that is already named it will retain its old name. Now the spec says that, when binding names are not specified, the name is taken from the reference or service name. It's not explicit about what happens in the inheritance case but I would expect it to be "Service2" in your scenario. Firstly do you need the copied binding to be in place in order to do policy processing and does it need to be named If so we may need to enact the binding naming algorithm inside the composite component type and component configuration builders. Regards Simon