【发布时间】:2022-08-24 21:10:20
【问题描述】:
我发现here 的默认行为FromXmlParser.Feature.EMPTY_ELEMENT_AS_NULL已从 true (2.9 - 2.11) 更改为 false (2.12 及更高版本),因此从该版本开始,不会对空元素进行自动强制转换,例如转换为 null。
我使用的是 Apache Camel 2.25,该版本默认启用了此功能,但现在,通过此更改,在 Camel 3.x 中禁用了此功能。如何使用 XML DSL 在 Camel 3 中启用它?我知道使用 XMLMapper 很简单:
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure(FromXmlParser.Feature.EMPTY_ELEMENT_AS_NULL, true);
但在 Camel XML DSL 中,allowed enums 只是来自 SerializationFeature、DeserializationFeature 和 MapperFeature 的那些。我尝试过其中一些,但没有运气。
<unmarshal>
<jacksonxml disableFeatures=\"FAIL_ON_UNKNOWN_PROPERTIES\"
enableFeatures=\"ACCEPT_EMPTY_STRING_AS_NULL_OBJECT,ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT\"
unmarshalTypeName=\"com.my.class.Result\"
include=\"NON_NULL\" />
</unmarshal>
标签: java apache-camel jackson-dataformat-xml camel-jackson