搜索

第 224 章 MIME Multipart DataFormat

download PDF

从 Camel 版本 2.17 开始提供

此数据格式,可以将带有附件的 Camel 消息转换为 Camel 消息,包含 MIME-Multipart 消息作为消息正文(无附件)。

这样做的用例是允许用户通过不支持附加的端点发送附件(例如,作为特殊协议实现(例如,通过 HTTP 端点发送 MIME 多部分)或作为隧道解决方案(例如,camel-jms 不支持附件,但通过将附件放入 MIME-Multipart)将消息放入 MIME-Multipart。将其发送到 JMS 队列,从 JMS 队列接收消息并再次接收消息(通过附件发送到消息正文)。

mime-multipart 数据格式的 marshal 选项将带有附件的消息转换为 MIME-Multipart 消息。如果参数 "multipartWithoutAttachment" 设置为 true,它将在没有附加信息的情况下进行 marshal 信息,如果该参数被设置为 false,它将只保留消息。

mulitpart 的 MIME 标头作为 "MIME-Version" 和 "Content-Type" 设置为消息。如果参数 "headersInline" 设置为 true,它将在任何情况下还会创建一个 MIME 多部分消息。
另外,多部分的 MIME 标头被编写为消息正文的一部分,而不是作为 camel 标头。

mime-multipart 数据格式的 unmarshal 选项将 MIME-Multipart 消息转换为带有附件的 camel 消息,并只保留其他消息。MIME-Multipart 消息的 MIME-Headers 必须设置为 Camel 标头。只有在将 "Content-Type" 标头设置为"multipart"类型时才会进行 unmarshalling。如果选项 "headersInline" 设为 true,则正文始终解析为 MIME 消息。因此,如果消息正文是流,并且没有启用流缓存,则实际不是消息正文中的 MIME 标头的消息正文将被空消息替换。最多 Camel 版本 2.17.1 将发生所有不包含 MIME 多部分消息的消息正文,无论正文类型和流缓存设置是什么。

224.1. 选项

MIME 多部分 dataformat 支持 6 个选项,如下所列。

Name默认值Java 类型描述

multipartSubType

mixed

字符串

指定 MIME 多部分的子类型。默认为 mixed。

multipartWithoutAttachment

false

布尔值

定义没有附加的消息是否也会被放入 MIME Multipart 中(只有一个正文部分)。默认值为 false。

headersInline

false

布尔值

定义 MIME-Multipart 标头是消息正文(true)的一部分,或设置为 Camel 标头(false)。默认值为 false。

includeHeaders

 

字符串

定义将哪些 Camel 标头作为 MIME 标头包含在 MIME 多部分的正则表达式。这只有在 headersInline 设为 true 时才可以正常工作。默认为不包含标头

binaryContent

false

布尔值

定义 MIME 多部分的内容是否为二进制(true)或 Base-64 encoded (false) Default 是否为 false。

contentTypeHeader

false

布尔值

如果数据格式可以这样做,则数据格式是否应使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 放入 XML 或用于数据格式的 application/json,如 JSon 等。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.