Hello guys, I have this problem, it was first quite strange, why it's happening, but then I saw the obvious problem... It's about POJO classes and (de)serializing to/from JSON.
I have a simple route, where jaxrs takes a JSON request body from POST http request. Then the JSON string is deserialized into corresponding class, with "unmarshall" and Jackson library. .unmarshal().json(JsonLibrary.Jackson, MyPojo.class) This works without problems on production. But, I have a problem to write unittests for this route. Because the JSON string is not deserialized: org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type... I know this error, and it was strange to me because there is public constructor with @JsonProperty annotations for each pojo property. Plus, it works on production and tests for the POJO itself passed as well. The problem is in jackson version. For the unit tests, there have to be some older version of Jackson used, you can see there is the old package name - org.codehaus.jackson... I'm using newer version of Jackson in the project - 2.1.2, they changed package name to "com.fasterxml...". My biggest question is now - how is the Jackson version resolved in CamelContext? I'm trying to digg the corresponding DataFormat object, to find out, but if you can give me good hint, that would be nice. The version of Apache Camel is 2.11.0 and the unittest - nothing special, CamelTestSupport is inherited. I guess, I have to somehow pass the DataFormat object with Jackson to the testing CamelContext? I know there is the "createJndiContext" method, I'm using it to pass mocked dependencies for the routes in test...is this the way? Thanks! -- S pozdravem / Best regards Martin Stiborský Jabber: st...@njs.netlab.cz Twitter: http://www.twitter.com/stibi