Thanks Sergey,

just one more question. I converted a plain (non-OSGi) JAX-RS project to 
DOSGi-based CXF. Now, for some of my JAXB annotated classes I get the error 
message:

  com.sun.istack.internal.SAXException2: unable to marshal type "a.b.c.X" as an 
element because it is missing an @XmlRootElement annotation

I use Pax Exam to set up a test case that marshalls the object to a byte[] and 
unmarshalls it afterwards from it.

Do you know that error? Why is CXF behaving different than "plain" JAXB? Is it 
using a different JAXB implementation at all? And if yes, is it possible to 
switch to the implementation included in the JVM?

Kind regards,
Daniel

Am 21.01.2010 um 13:01 schrieb Sergey Beryozkin:

> Hi
> 
> Please see a comment with S.B
> 
> ----- Original Message ----- From: "Daniel Bimschas" 
> <bimsc...@itm.uni-luebeck.de>
> To: <dev@cxf.apache.org>
> Sent: Wednesday, January 20, 2010 6:07 PM
> Subject: Re: JAXB and JAX-RS under CXF
> 
> 
> Oh great thing Sergey,
> 
> thanks for that answer. I just tried and it works just fine. In fact, 
> documentation was either misleading or I misread. The documentation says
> 
> "This property has a limited value for JAXRS services as JAXB is supported by 
> default, the only supported value is 'aegis' and it is a shortcut for 
> registering an Aegis provider [...]"
> 
> which is a little hard to understand. One the one hand it says JAXB is 
> supported, but on the other hand 'aegis' is the only value you're allowed to 
> use. So this confused me.
> 
>> S.B : it kind of does not makse sense, now that I read it again. (CXF) JAXRS 
>> do not use (CXF)databindings as often as they use 'providers', technically 
>> both terms are probably identical, but I wanted to not require users to set 
>> this property given that they will probably want to register say a 
>> DataBindingProvider provider delegating to CXF Aegis as OSGI service, with 
>> some custom configuration, etc...That said, for simple cases, letting users 
>> just to do "org.apache.cxf.rs.databinding=atom" would also make sense...
> 
> JAXB will be supported with or without "org.apache.cxf.rs.databinding=jaxb" 
> but I'll look into simplifying the documentation and enhancing a bit the way 
> this org.apache.cxf.rs.databinding property is handled...
> 
> thanks, Sergey
> 
> 
> Thanks for the clarification and the impressively fast response!
> 
> Regards,
> Daniel
> 
> Am 20.01.2010 um 18:20 schrieb Sergey Beryozkin:
> 
>> Hi
>> 
>> It is possible. It has to work, you do not even has to enable it for JAXRS; 
>> for DOSGI-RI/JAX-RS it is a default databinding given that the JAXRS spec 
>> requires the JAXB support OTB so I thought asking users to explictly add 
>> org.apache.cxf.rs.databinding=jaxb just to enable JAXB would be too much...
>> Are you seeing any issues ? I'm thinking may be I've just done another piece 
>> of the documentation which is confusing ? One thing I'm saying there is that 
>> if you do not want to have your bundle modified for JAXB be supported at 
>> runtime as well as to explicitly annotate beans with @XmlRootElement and 
>> friends (that is, to import JAXB packages) then if it is JAX-RS only you can 
>> register a custom (CXF JAXRS) JAXBElementProvider and tell it to use 
>> JAXBElement internally and that is it...
>> 
>> cheers, Sergey
>> 
>> ----- Original Message ----- From: "Daniel Bimschas" 
>> <bimsc...@itm.uni-luebeck.de>
>> To: <dev@cxf.apache.org>
>> Sent: Wednesday, January 20, 2010 5:07 PM
>> Subject: JAXB and JAX-RS under CXF
>> 
>> 
>> Hi list,
>> 
>> following the DOSGi reference [1] I see that it's not possible to use JAXB 
>> under JAX-RS but with JAX-WS. Is that correct? And what is the reason for it?
>> 
>> Kind regards,
>> Daniel
>> 
>> [1] http://cxf.apache.org/distributed-osgi-reference.html
> 
> -- 
> 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