> -----Original Message----- > From: Aaron Titus [mailto:[email protected]] > Sent: Wednesday, November 06, 2013 9:11 AM > To: [email protected] > Subject: Re: Concise summary of steps to integrate Jackson 2.x into CXF with > Spring and JAXB annotations? > > The custom provider can be as simple as this: > > package mypackage; > > import com.fasterxml.jackson.databind.DeserializationFeature; > import com.fasterxml.jackson.databind.ObjectMapper; > import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; > import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; > > public class CustomJsonProvider extends JacksonJaxbJsonProvider { > > // this class exists so we can customize the object mapper > // and therefore the way that the JSON is produced > public CustomJsonProvider() { > ObjectMapper mapper = new ObjectMapper(); > mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); > JaxbAnnotationModule jaxbModule = new JaxbAnnotationModule(); > mapper.registerModule(jaxbModule); > this._mapperConfig.setMapper(mapper); > } > > > And then in the configuration file, it looks like this: > > > <jaxrs:server id="restServer" address="/rest"> > <jaxrs:serviceBeans> > ... > </jaxrs:serviceBeans> > <jaxrs:providers> > <bean id="jaxbProvider" class="mypackage.CustomJsonProvider"/> > </jaxrs:providers> > </jaxrs:server> > > > The jaxb annotation and providers needed to get built from github: > > https://github.com/FasterXML/jackson-module-jaxb-annotations.git > > https://github.com/FasterXML/jackson-jaxrs-providers.git
Ok. I'll give this a try. I don't know why you had to build these. The docs provide Maven coordinates for these. Perhaps that was added after you did this? > On Wed, Nov 6, 2013 at 12:03 PM, Aaron Titus <[email protected]> wrote: > > > I just went through this myself, and found the same struggle. One of the > > challenges is that with Jackson 2.0 is that the JAXB stuff is now in > > separate github projects, and there weren't any jars available. I had to > > clone the github projects and build. I don't use spring in my app directly > > but I do use the spring beans in the CXF configuration file. It was > > difficult to try and define the parameters I needed directly in there so I > > opted to extend the jackson jaxb provider class and then refer to my > > provider within the spring configuration file. As Sergey mentioned, you > > also need to use CXF 2.7.6 or greater otherwise you run into another > > problem. > > > > > > > > > > On Wed, Nov 6, 2013 at 11:47 AM, KARR, DAVID <[email protected]> wrote: > > > >> I'm trying to investigate integrating Jackson 2.x into a Spring CXF > >> JAX-RS prototype, using JAXB annotations to facilitate both XML and JSON > >> rendering. I've browsed the Jackson documentation, but it seems > scattered. > >> I have an older CXF JAX-RS app using Jackson 1.x, but I'd like to see > what > >> the newer Jackson does. I've seen some examples on the web using the > older > >> Jackson, but not the new one. Is there a straightforward guide to this > >> somewhere? > >> > > > >
