Hi

if you use "org.apache.cxf.rs.provider" string property then it's a comma-separated list of class names, if using declarative services then you need to have a space separated list of class names listed on separate lines, as shown in the section I linked to. As we discussed eralier on, there's also an "org.apache.cxf.rs.databinding" property which is of limited value to JAXRS services at the moment (can have "aegis" or "jaxb" values). I'm thinking of adding more supported values to it so that one can say : "org.apache.cxf.rs.databinding"="jaxb,json" instead of typing class names when setting a "org.apache.cxf.rs.provider".

Oh, I forgot...DOSGI RI does not ship Jettison (ServiceMix would install it as part of cxf jaxrs feature), perhaps it should. So if you'd like to use a default CXF JSON provider (which is Jettison-based) then install either Jettison 1.1 bundle [1] or Jettison 1.2, CXF 2.2.4 (which depends on Jettison 1.1) should accept it too, there's no version range in the CXF Import-Package for jettison packages

Sergey

[1] 
http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.jettison/1.0.1_2/
[2] http://docs.codehaus.org/display/JETTISON/2010/01/18/Jettison+1.2+released

----- Original Message ----- From: "Daniel Bimschas" <[email protected]>
To: <[email protected]>
Sent: Wednesday, January 27, 2010 2:11 PM
Subject: Re: DOSGi and JSON responses


Sorry, accidentally sent the last before I finished writing it :)

I used maven-scr-plugin to generate the properties of the registered service, therefore the syntax should be ok now. However, it doesn't seem to work. I keep getting empty JSON files :( I'll now check out to do it on the greeter_rest sample, see if it works there!

Am 27.01.2010 um 10:47 schrieb Sergey Beryozkin:

Hi Daniel

Please see "Registering custom JAXRS providers" in [1].
There's a couple of options. One is to to use an "org.apache.cxf.rs.provider" property which accepts a list of class names, so you can list the provider you need, ex, "org.apache.cxf.jaxrs.provider.JSONProvider", etc. The other option is to register an instance of say JSONProvider as an OSGI service, this option is the only way at the moment to have a provider instance configured with some custom properties...

To simplify things a bit, I'll probably need to intoduce "json", "atom", "xbeans", etc for org.apache.cxf.rs.databinding so that users can avoid having to specify classnames like "org.apache.cxf.jaxrs.provider.JSONProvider" directly...For more advanced cases we will need to recognize providers configured in Spring (as an alternative to registering them as OSGI services)...

cheers, Sergey



[1] http://cxf.apache.org/distributed-osgi-reference.html#DistributedOSGiReference-ServiceProviderpropertiesForConfiguringRESTfulJAXRSbasedendpointsandconsumers

----- Original Message ----- From: "Daniel Bimschas" 
<[email protected]>
To: <[email protected]>
Sent: Tuesday, January 26, 2010 9:59 PM
Subject: DOSGi and JSON responses


Hi List!

I've now successfully developed a project that additionally exposes its interfaces over the DOSGi based JAX-RS implementation as RESTful service. Therefore I've used the JAXB-Binding which worked fine. However, I couldn't find any information about how to get the JSON responses working (they are always empty, i.e. 0 bytes of payload). Can somebody help me here and point me to the right documentation?

Kind regards,
Daniel=

--
M.Sc. Daniel Bimschas
Institute of Telematics, University of Lübeck
http://www.itm.uni-luebeck.de/users/bimschas
Ratzeburger Allee 160, 23538 Lübeck, Germany
Phone: +49 451 500 5389


Reply via email to