Sergey, I checked, please see my further questions below...
Am 22.01.2010 um 16:10 schrieb Sergey Beryozkin: > Hi Daniel > > please see comments with S.B > > thanks, Sergey > > ----- Original Message ----- From: "Daniel Bimschas" > <bimsc...@itm.uni-luebeck.de> > To: <dev@cxf.apache.org> > Sent: Friday, January 22, 2010 3:00 PM > Subject: Re: JAXB and JAX-RS under CXF > > > 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 > > S.B : Do those objects actually have @XmlRootElement ? Yes, they do. > > 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? > > S.B : yes, usually it is to do with @XmlRootElement being not present or, in > OSGI case, being 'lost' at runtime, due to a missing import package > value...You can condigure DOSGI RI to not require @XmlRootElement for JAXRS > services... I checked the packaged bundle. It definitely has the JAXB annotation packages imported (which is no wonder as I'm using maven-bundle-plugin with bnd to generate the Manifest). How can I configure it for use without annotations? > > Why is CXF behaving different than "plain" JAXB? > > S.B : what exactly is different ? Just that plain works, and OSGi-based fails because of the errors mentioned above. But I guess that's "misconfiguration". > > 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 > > -- 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
smime.p7s
Description: S/MIME cryptographic signature