Apache Camel的JsonMappingException

时间:2018-02-15 01:40:12

标签: json split apache-camel spring-camel

我正在使用Camel Route

获得以下异常
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.apache.camel.converter.stream.InputStreamCache and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
    at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:284)
    at com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110)
    at com.fasterxml.jackson.databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1135)
    at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:69)
    at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:32)
    at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:292)
    at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429)
    at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1158)

骆驼路线:

restConfiguration().producerComponent("http4").host("localhost").port(9080);


    from("direct:getSubscriptions")
        .hystrix()
        .to("rest:get:testendpoint?carrier={carrier}&flightNumber={flightNumber}&origin={origin}&destination={destination}&date={date}")
        .log(">> - ${body}")
        .marshal().json(JsonLibrary.Jackson)
        .split().jsonpathWriteAsString("$.[1]", true)
        .log("${body}");

不确定我做得对吗?任何建议将不胜感激

1 个答案:

答案 0 :(得分:2)

将您的身体转换为字符串,然后将其封送到json。您可以在元帅之前添加.convertBodyTo(String.class)。问题是你发送了一个流,杰克逊并不知道如何序列化它。