JacksonDataFormat dataFormat1 = new JacksonDataFormat(Distance.class); from("direct:getDistance") .marshal()// What are you serializing here? Could add dataFormat1 inside marshal also .setHeader("Content-Type").constant("application/json") .setHeader("Accept").constant("application/json") .setHeader(Exchange.HTTP_METHOD).constant("GET") .removeHeader(Exchange.HTTP_PATH) .toD("https://www.zipcodeapi.com/rest/qqZmn6H64bx2BdF9UWZKivRu5vQVZtejqIQOVXCkPiRwwPVht3feiPEqxIMY3S5P/distance.json/48335/48336/km") .unmarshal(dataFormat1) .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { System.out.println("in the processor"+ exchange.getIn().getBody()); Distance employeelist = exchange.getIn().getBody(Distance.class) ; System.out.println("distance value"+ employeelist.getDistĀ­ance());