Bah, my isReadable and isWriteable were wrong. Sorry, false alarm. This works like a charm!
Thanks, Josh On Wed, Aug 26, 2009 at 6:16 PM, Sergey Beryozkin <[email protected]>wrote: > Hi Josh > > Thanks, this is exactly how providers are expected to be registered. > http://hudson.zones.apache.org/hudson/job/CXF-DOSGi > > shows my changes have been picked up so it's a bug then. Have you tries the > lastest build from snapshots or built the trunk yourself, including a > trunk/distributuon ? > > I'll look into it... > > cheers, Sergey > > P.S. was about to ping you on #cxf but somehow I lost the connection > ----- Original Message ----- From: "Josh Holtzman" <[email protected] > > > To: <[email protected]> > Sent: Wednesday, August 26, 2009 5:02 PM > Subject: Re: Integrating JAX-RS runtime into DOSGi > > > > Great, thanks Sergey. I just tried this, and wasn't able to read/write an >> arbitrary object. >> >> I've registered a MessageBodyReader and a MessageBodyWriter (actually, the >> same object) like so: >> >> FooXmlReaderWriter fooReaderWriter = new FooXmlReaderWriter(); >> context.registerService(MessageBodyReader.class.getName(), >> fooReaderWriter, null); >> context.registerService(MessageBodyWriter.class.getName(), >> fooReaderWriter, null); >> >> I see that these services are in fact registered: >> >> ----------------------------------------------- >> objectClass = javax.ws.rs.ext.MessageBodyReader >> service.id = 41 >> ---- >> objectClass = javax.ws.rs.ext.MessageBodyWriter >> service.id = 42 >> ---- >> >> But when I try to access a Foo via JAX-RS, I get this: >> >> [9853...@qtp-998044-0 - /inspection/rest/foo] WARN >> org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor - .No message body >> writer found for response class : Foo. >> >> Please let me know if I misunderstood the recipe for registering JAX-RS >> providers. I'll be out of the office until Monday, and will start digging >> into the CXF code to see what's going on when I return. >> >> Many thanks, >> Josh >> >> >> On Tue, Aug 25, 2009 at 7:21 PM, Sergey Beryozkin < >> [email protected] >> >>> wrote: >>> >> >> >>> Hi Josh >>> >>> I've updated the JAX-RS layer in DOSGi such that it will now discover >>> JAXRS >>> (and CXF specific providers) which have been registered as (global) OSGI >>> services. At the moment I've decided not to use a ServiceTracker and >>> instead >>> a calling BundleContext is asked to exercise a filter expression which >>> should catch JAXRS MessageBodyReader, MessageBodyWriter, ExceptionMapper, >>> as >>> well as CXF RequestHandler, ResponseHandler & ParameterHandler. I'll >>> attempt >>> to optimize it later on.... >>> >>> One can disable such queries for such providers and also insist that only >>> those global providers which have identified themselves (through a >>> specific >>> property) that they will work reliably with CXF can be used. >>> >>> Alternatively, one can register an array of service/endpoint -specific >>> providers by using "org.apache.cxf.rs.provider" property, when >>> registering >>> an application service. >>> Will document it tomorrow >>> >>> Give it a try please whenever you get a chance and let me know if it >>> works >>> for you >>> >>> cheers, Sergey >>> >>> >>> >>> Josh Holtzman wrote: >>> > >>> > Hi Sergey. Yes, we are using JAXB with both JAX-RS and JAX-WS >>> endpoints. >>> > >>> > Josh >>> > >>> > On Aug 21, 2009 6:28 PM, "Sergey Beryozkin" <[email protected]> >>> wrote: >>> > >>> > Hi Josh >>> > >>> > Can you please let me know if JAXB is being used for your JAX-RS >>> endpoints >>> > ? >>> > I've spotted that for HTTP Service based JAX-RS endpoints no >>> AegisProvider >>> > is being set - I'would actually like JAXB being used by default for >>> JAXRS >>> > endpoints which will be consistent with the expectations of JAX-RS >>> users >>> > in >>> > general - but I'd like to confirm first that JAXB is working ok in your >>> > case... >>> > >>> > thanks, Sergey >>> > >>> >> Sergey, > Thanks again for the detailed documentation you've provided >>> in >>> > this thread. > I was ab... >>> > >>> > >>> >>> -- >>> View this message in context: >>> >>> http://www.nabble.com/RE%3A-Integrating-JAX-RS-runtime-into-DOSGi-tp24127832p25138636.html >>> Sent from the cxf-dev mailing list archive at Nabble.com. >>> >>> >>> >> >
