Apache CXF With Jackson

Apache CXF With Jackson Example explains step by step details of configuring Apache CXF With Jackson Provider

JAX-RS is Java API for RESTful Webservices which is very rely upon Representational State Transfer model, you can view JAX-RS specification 

Jackson is an open source java library for processing JSON format. We can use Jackson library by replacing Jettison, which is the default library for CXF

You can see the below example, which is demonstrating How to configure a Restful service using Jackson library by replacing default jettison library which is available with cxf bundle

You can also see Restful service using Jettison library CXF Restful Tutorial.

Required Libraries

You need to download

  1. JDK 7
  2. Eclipse 4.2
  3. CXF-2.7.3
  4. Tomcat 7

Following jar must be in classpath

  1. aopalliance-1.0.jar
  2. commons-logging-1.1.1.jar
  3. cxf-2.7.3.jar
  4. httpasyncclient-4.0-beta3.jar
  5. httpclient-4.2.1.jar
  6. httpcore-4.2.2.jar
  7. httpcore-nio-4.2.2.jar
  8. neethi-3.0.2.jar
  9. spring-aop-3.0.7.RELEASE.jar
  10. spring-asm-3.0.7.RELEASE.jar
  11. spring-beans-3.0.7.RELEASE.jar
  12. spring-context-3.0.7.RELEASE.jar
  13. spring-core-3.0.7.RELEASE.jar
  14. spring-expression-3.0.7.RELEASE.jar
  15. spring-web-3.0.7.RELEASE.jar
  16. wsdl4j-1.6.2.jar
  17. jaxb-impl-2.2.6.jar
  18. javax.ws.rs-api-2.0-m10.jar
  19. xmlschema-core-2.0.3.jar
  20. jackson-all-1.9.11

CXF Jackson Example

I am creating a sample restful service project that pass Student object and return with some changes on that object. The service is using simple POJO (Plain Old Java Object) bean.

Firstly create a Dynamic Web Project (File->New->Dynamic Web Project) named "CXFRestfulTutorial" according to following screenshot

Create CXF Project Apache CXF With Jackson

Create a Student Object

package com.student;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "Student")
public class Student {
private String name;

public String getName() {
return name;

public void setName(String name) {
this.name = name;

Here @XmlRootElement(name = "Student"), is a JAXB convension specifies that Student is XML document.

If you are specifies that @Produces("application/json") then Jettison library converts the JAXB to json text as response

1 2 3 Next

5 Responses to "Apache CXF With Jackson"
  1. Suraj 2012-07-05 07:53:15.0
  1. admin 2012-07-06 07:53:15.0
  1. sochs 2012-07-07 07:53:15.0
  1. Nitin 2012-07-08 08:53:15.0
  1. admin 2012-07-09 07:53:15.0

Your email address will not be published. Required fields are marked *