55.11. IDoc 的 XML 序列化
IDoc 消息正文可以序列化为 XML 字符串格式,并提供内置类型转换器的帮助。
55.11.1. XML 命名空间 复制链接链接已复制到粘贴板!
每个序列化 IDoc 都与 XML 命名空间关联,其通用格式如下:
http://sap.fusesource.org/idoc/repositoryName/idocType/idocTypeExtension/systemRelease/applicationRelease
http://sap.fusesource.org/idoc/repositoryName/idocType/idocTypeExtension/systemRelease/applicationRelease
repositoryName (远程 SAP 元数据存储库的名称)和 idocType (IDoc 文档类型)都是必需的,但命名空间的其他组件可以留空。例如,您可以有一个类似如下的 XML 命名空间:
http://sap.fusesource.org/idoc/MY_REPO/FLCUSTOMER_CREATEFROMDATA01///
http://sap.fusesource.org/idoc/MY_REPO/FLCUSTOMER_CREATEFROMDATA01///
55.11.2. 内置类型转换器 复制链接链接已复制到粘贴板!
Camel SAP 组件有一个内置类型转换器,能够将 Document
对象或 DocumentList
对象转换为 String
类型。
例如,要将 Document
对象序列化到 XML 字符串,您只需在 XML DSL 中的路由中添加以下行:
<convertBodyTo type="java.lang.String"/>
<convertBodyTo type="java.lang.String"/>
您还可以使用此方法将 XML 消息序列化到 文档
对象。例如,假设当前消息正文是一个序列化 XML 字符串,您可以通过将以下行添加到 XML DSL 中的路由来将其转换为 Document
对象:
<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>
<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>
55.11.3. XML 格式的 IDoc 消息正文示例 复制链接链接已复制到粘贴板!
当您将 IDoc 消息转换为 String
时,它将被序列化为 XML 文档,其中 root 元素可以是 idoc:Document
(用于单个文档)或 idoc:DocumentList
(用于文档列表)。它显示,单个已序列化为 idoc:Document
元素的 IDoc 文档。
例 55.2. XML 中的 IDoc 消息正文