Eoghan, On Thursday 11 September 2008 5:52:20 am Eoghan Glynn wrote: > > Next question. > > When I expose a service registered under multiple interfaces, what is it > > supposed to do in today's codebase? > > Will it somehow expose both interfaces over the wire or does it just > > pick one? > > The intention was to support the multi-interface case mapping to a > single endpoint by creating a java.lang.reflect.Proxy aggregating the > interfaces, and using this proxy as the service class on the > ServerBeanFactory. > > However this introduces some complications around the namespace mapping > used the Aegis binding, particularly in ensuring that the namespace used > for client-originated payloads match that expected by the server-side. > > So this approach will require some core CXF changes in order to work, > and isn't supported right now.
Actually, you shouldn't need to refactor any core CXF for this I think. If you write your own ServiceConfiguration object, there are methods for getting the qnames for the request/response wrappers and such where you can make sure you get the correct namespaces from the correct implementation. Just register your version before the default versions. Dan > > For the moment, maybe we should just take the simple approach of mapping > each interface onto a /separate/ endpoint. > > /Eoghan > > > I'm looking at changing the behaviour of the org.osgi.remote.publish > > property with the behaviour in the spec (instead of the value > > 'false|true' a list of interfaces or '*' for all published interfaces > > should be provided). > > > > Thanks, > > > > David > > > > ---------------------------- > > IONA Technologies PLC (registered in Ireland) > > Registered Number: 171387 > > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland > > ---------------------------- > IONA Technologies PLC (registered in Ireland) > Registered Number: 171387 > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland -- Daniel Kulp [EMAIL PROTECTED] http://www.dankulp.com/blog