> -----Original Message----- > From: Sergey Beryozkin [mailto:[email protected]] > Sent: Tuesday, November 27, 2012 8:27 AM > To: [email protected] > Subject: Re: Suddenly getting "class ... nor any of its super class is > known to this context" for existing code > > On 27/11/12 16:09, KARR, DAVID wrote: > >> -----Original Message----- > >> From: Sergey Beryozkin [mailto:[email protected]] > >> Sent: Monday, November 26, 2012 11:51 AM > >> To: [email protected] > >> Subject: Re: Suddenly getting "class ... nor any of its super class > is > >> known to this context" for existing code > >> > >> On 26/11/12 19:47, KARR, DAVID wrote: > >>>> -----Original Message----- > >>>> From: KARR, DAVID > >>>> Sent: Monday, November 26, 2012 10:55 AM > >>>> To: [email protected] > >>>> Subject: Suddenly getting "class ... nor any of its super class is > >>>> known to this context" for existing code > >>>> > >>>> Using CXF 2.5.1. > >>>> > >>>> I have an existing REST server that had two controllers with a > >> handful > >>>> of simple GET services. In the last few days I added a third > >>>> controller with a simple service. I verified that was working, > but > >> I'm > >>>> not sure if I tried the two existing services at the time. > >>>> > >>>> Today I made some additional minor changes to the third service > and > >>>> verified it was ok. I then discovered that one of the original > two > >>>> services is now failing with an error like this (the other > original > >>>> service is fine): > >>>> > >>>> WARNING: javax.xml.bind.JAXBException: class<foo> nor any of its > >> super > >>>> class is known to this context. > >>> > >>> I discovered the need to create a JAXBElementProvider, but this is > >> only fixing this for XML responses. If I make it generate JSON, I > >> still get that error. I have an instance of > >> "org.apache.cxf.jaxrs.provider.JSONProvider" specified already. Is > >> there something additional I have to add to it to get it to work > with > >> JSON? > >> I'm assuming you are configuring JAXBElementProvider to treat 'foo' > as > >> JAXBElement or set some other property which can help the provider > >> marshall it ? If yes, then the same property can be most likely set > on > >> JSONProvider which shares the same common code with > JAXBElementProvider > > > > This fixed the problem. I set both the "extraClass" and > "singleJaxbContext" properties on the JSONProvider bean. > > > > Thanks for the confirmation David, I was still thinking of trying to > reproduce the issue with JSONProvider somehow :-)
Me too. I don't understand why I didn't need this from the start. Some obscure transition made those classes not being included by default.
