第 168 章 JAXB DataFormat

作为 Camel 版本 1.0 可用

JAXB 是一个数据格式,它使用 JAXB2 XML marshalling 标准,它包含在 Java 6 中,将 XML 有效负载解包到 Java 对象,或封装 Java 对象到 XML 有效负载中。

168.1. 选项

JAXB 数据格式支持 18 个选项,它们列如下。

名称默认Java 类型描述

contextPath

 

字符串

您的 JAXB 类所在的软件包名称。

schema

 

字符串

对现有架构进行验证。您可以使用前缀 classpath:、file: 或 http: 指定资源通过解析的方式。您可以使用 ',' 字符分隔多个 schema 文件。

schemaSeverityLevel

0

整数

设置在对 schema 验证时使用的 schema 严重性级别。此级别决定了触发 JAXB 以继续解析的最低严重性错误。默认值为 0(warning)意味着任何错误(warning、error 或 fatal 错误)将触发 JAXB 来停止。有三个级别: 0=warning, 1=error, 2=fatal 错误。

prettyPrint

false

布尔值

启用大量打印输出。默认为 false。

objectFactory

false

布尔值

是否允许使用对象要素类在汇总过程中创建 POJO 类。这只适用于没有通过 JAXB 标注并提供 jaxb.index 描述符文件的 POJO 类。

ignoreJAXBElement

false

布尔值

是否忽略 JAXBElement 元素 - 在非常特殊用例中只需要设置为 false。

mustBeJAXBElement

false

布尔值

marhsalling 是否需要使用 JAXB 注释的 java 对象。如果不是,则失败。这个选项可以设置为 false 来放lax,例如当数据已采用 XML 格式时。

filterNonXmlChars

false

布尔值

忽略非 xml characheters,并将其替换为空空间。

encoding

 

字符串

使用规则规则并使用特定的编码

fragment

false

布尔值

开启 XML 片段树。默认情况下,JAXB 在给定类上查找 XmlRootElement 注解,以操作整个 XML 树。这很有用,但有时生成的代码没有 XmlRootElement 注解,有时您只需要树的一部分。在这种情况下,您可以使用部分卸载。要启用此行为,您需要设置属性 partClass。Camel 将把类传递给 JAXB 的 unmarshaler。

partClass

 

字符串

用于片段解析的类名称。查看 片段选项的更多详情。

partNamespace

 

字符串

用于碎片解析的 XML 命名空间。查看 片段选项的更多详情。

namespacePrefixRef

 

字符串

使用 JAXB 或 SOAP 总结时,JAXB 实施将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。

xmlStreamWriterWrapper

 

字符串

使用自定义 xml 流写入器。

schemaLocation

 

字符串

定义架构的位置

noNamespaceSchemaLocation

 

字符串

定义无命名空间模式的位置

jaxbProviderProperties

 

字符串

在含有自定义 JAXB 提供者属性的注册表中查找自定义 java.util.Map 来引用要与 JAXB marshaller 搭配使用的自定义 java.util.Map。

contentTypeHeader

false

布尔值

如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。