CallableReference presents an interface for setting and getting conversation information. When it comes time to dispatch a message the information is required in the invoker handler. There is not direct relationship between these two structures. The current mechanism of using the ThreadMessageContext to transfer bits of this information is suspect in my opinion because the conversation information in question is related to the message to be sent and not to the context of the message that was received.
I could bend the (non spi) interfaces to pass the originating service reference into the WireObjectFactor, ProxyService and hence on into the proxy/invoker handler. Looks a bit tricky due to the way it's structured atm. Without changing interfaces I could invent a hidden method on the proxy to accept a reference to the ServiceReference which can be used to get conversation information as required. Is there an obvious (easy) way that these are/can be associated? Simon
