{
"customer": {
"ssoId":"B56789",
"brand":"123-reg",
"forename":"John",
"surname":"Doe",
"title":"Mr",
"companyName":"Unilever",
"primaryEmail":"john.doe@unilever.com",
"currency":"$",
"language":"English",
"vatNumber":"D4531234",
"vatCode":"12B6",
"ipAddress":"127.0.0.1"
}
}
That's my JSON file I'm trying to unmarshal using Apache camel to a POJO but it keeps throwing that error! When I add the @JsonIngoreProperties
, it returns a null object without populating the POJO.
@Data
@JsonInclude(NON_EMPTY)
public final class Customer{
@JsonProperty(value = "ssoId", required = true)
private String ssoId;
@JsonProperty(value = "brand", required = true)
private String brand;
@JsonProperty(value = "forename", required = true)
private String forename;
//......
}
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "customer" (class com.heg.esb.model.Customer), not marked as ignorable (17 known properties: "addresses", "phones", "brand", "companyName", "ssoId", "ipAddress", "currency", "vatNumber", "vatCode", "title", "primaryEmail", "surname", "lastVerificationDate", "forename", "lastModifiedDate", "createdDate", "language"]) at [Source: java.io.ByteArrayInputStream@3844c08b; line: 2, column: 16] (through reference chain: com.heg.esb.model.Customer["customer"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:51) at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:839) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1045) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1352) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1330) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:264) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:125) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2796) at org.apache.camel.component.jackson.JacksonDataFormat.unmarshal(JacksonDataFormat.java:173) at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:69) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.Pipeline.process(Pipeline.java:121) at org.apache.camel.processor.Pipeline.process(Pipeline.java:83) at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:117) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:112)