I tried both the ServiceMix bundle and the Jettison 1.2 bundle but both still 
deliver empty output. Debug output looks fine as far as I can see (it selects 
org.apache.cxf.jaxrs.provider.JSONProvider for output):

...

[btpool3-0] DEBUG org.apache.cxf.phase.PhaseInterceptorChain - Invoking 
handleMessage on interceptor 
org.apache.cxf.jaxrs.interceptor.jaxrsoutintercep...@46cfd5ee
[btpool3-0] DEBUG org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor - 
Response content type is: application/json
[btpool3-0] DEBUG org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor - 
Response EntityProvider is: org.apache.cxf.jaxrs.provider.JSONProvider
[btpool3-0] DEBUG org.apache.cxf.phase.PhaseInterceptorChain - Invoking 
handleMessage on interceptor 
org.apache.cxf.interceptor.messagesenderinterceptor$messagesenderendingintercep...@4d0155fb
[btpool3-0] DEBUG org.apache.cxf.transport.http_jetty.JettyHTTPDestination - 
Finished servicing http request on thread: Thread[btpool3-0,5,main]

...

Any idea? Just to be sure my configuration is correct, here's my 
serviceComponents.xml:

<?xml version="1.0" encoding="UTF-8"?>
<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0";>
    <scr:component enabled="true" immediate="true" 
name="VzServiceRestComponent">
        <implementation 
class="de.uniluebeck.itm.soapraktikum.ws0910.persons.vz.impl.PersonResource"/>
        <service servicefactory="false">
            <provide 
interface="de.uniluebeck.itm.soapraktikum.ws0910.persons.vz.impl.PersonResource"/>
        </service>
        <property name="service.exported.interfaces" type="String" value="*"/>
        <property name="service.exported.configs" type="String" 
value="org.apache.cxf.rs"/>
        <property name="service.exported.intents" type="String" value="HTTP"/>
        <property name="org.apache.cxf.rs.address" type="String" 
value="http://localhost:9090/persons/"/>
        <property name="org.apache.cxf.rs.databinding" type="String">
            org.apache.cxf.jaxrs.provider.JAXBProvider
            org.apache.cxf.jaxrs.provider.JSONProvider
        </property>
        <property name="service.pid" value="VzServiceRestComponent"/>
        <reference name="vzService" 
interface="de.uniluebeck.itm.soapraktikum.ws0910.persons.vz.VzService" 
cardinality="1..1" policy="static" bind="bindVzService" 
unbind="unbindVzService"/>
    </scr:component>
</components>

Am 27.01.2010 um 16:03 schrieb Daniel Bimschas:

> Would DOSGi RI 1.1 work with 
> http://repo1.maven.org/maven2/org/codehaus/jettison/jettison/1.2/jettison-1.2.jar
>  or is there any reason it would not?
> 
> Am 27.01.2010 um 15:49 schrieb Sergey Beryozkin:
> 
>> 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
>> 
>> 
> 
> -- 
> 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
> 

-- 
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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to