I am trying to get an extension to work with trunk but I am having problems with getting the Connector to wire ReferenceBindings and ServiceBindings. I tried looking for existing extensions that are up to date, but I am not sure there are any. I looked at hessian but it does not seem to be complete yet. So I made a copy of echo.binding in my sandbox so that I could run it with the stand- alone runtime to have as simple as possible a test.
The current problem I have is that the Client component does not seem to be getting wired to the EchoReference and, as a result, an NPE is thrown trying to use the corresponding injected reference. See http://rafb.net/p/FN9k8074.html for details. This seems to be consistent with the extension I am trying to build, where the component that I try to wire to the ReferenceBinding is also part of the extension, and so I more clearly see that it is not getting wired. I realize that support for extensions is in flux in trunk at the moment but I would like to understand to what extent it is operational. Should ReferenceBindings and ServiceBindings still work? I'd like to help getting extensions to work, but I need more info wrt their current state. Btw, I did notice that connect(ServiceDefinition d) in the Connector was not being able to find the source component for the sourceUri (from componentManager.getComponent(sourceUri)). Apparently, the sourceUri may have a "/" too many. Eg., the service def's uri looks like "/test/composite/#EchoService" which, when defragmented, yields as sourceUri "/test/composite/", which fails to be found. But if "/test/composite" is looked up then it is found. Something similar may be happening in connect(ComponentDefinition) when it tries to find reference targets to wire but things seem to be more complicated here, perhaps due to reference promotion. So, any ideas?