如何使用多部分消息类型

每条消息都具有多部分消息类型,该消息类型描述由零个或多个消息部分构成的消息结构。 这些部分由 XML 架构定义 (XSD) 语言架构或 .NET 类定义。 您可以定义自己的多部分消息类型,或使用现有的 .NET 类和架构。

您可以在业务流程中直接访问或分配消息部分,或使用消息部分中已公开为可分辨字段或属性字段的单个元素。 有关详细信息,请参阅 使用可分辨字段和消息属性

注意

多部分消息类型不一定包含多个部分。

注意

消息部分可由 .NET 类型 XmlDocument 定义,该类型可用于包含任意 XML 文档、可 XML 序列化的任何 .NET 类型或支持自定义序列化的任何 .NET 类型定义。

添加多部分消息类型

  1. “业务流程视图 ”窗口中,展开 “类型” 节点。

  2. 右键单击“ 多部分消息类型 ”,然后单击“ 新建多部分消息类型”。

    如果折叠,“ 多部分邮件类型” 文件夹将展开,并添加一个包含一个默认邮件部分的新多部分邮件类型。

  3. 命名多部分消息类型和所提供的消息部分。

    如果多部分消息类型需要多个消息部分,可以通过向“新建>邮件”部分分配名称来<添加其他部分。

  4. 将每个消息部分与一个类型相关联,如 .NET 类或架构。

删除多部分消息类型

  • “业务流程视图 ”窗口中,右键单击要删除的多部分消息类型,然后单击“ 删除”。

    注意

    从业务流程中删除多部分消息类型还会从使用它的消息中删除类型信息。

    注意

    显示为只读的项目将在其他业务流程中定义。

从多部分消息类型中删除部件

  • “业务流程视图 ”窗口中,右键单击要删除的部件,然后单击“ 删除”。

    注意

    如果消息正文部件属性设置为 true,则无法删除 消息类型的消息部分 。 对于消息类型的另一 部分, 必须先将消息正文部件属性设置为 True。

为多部分消息类型设置类型修饰符

  • “属性” 窗口中,设置以下属性:

    属性 说明
    类型修饰符 确定多部分消息类型的作用域:

    - 专用—对此多部分消息类型的访问仅限于包含模块。
    - 公共—对此多部分消息类型的访问不受限制。
    - 内部 —此多部分消息类型的访问仅限于同一项目中的模块。

向现有多部分消息添加部件

  • BizTalk Server提供向多部分 XLANG 消息添加部件的功能,以及通过索引大于最初声明的部件数(如果该部件存在)引用消息部件。 在发送或接收附件数量不确定的 SMTP 邮件时,此功能可能十分有用。 按照以下所述进行操作,即可实现此功能:

  • 从项目中,添加对 Microsoft.XLANGs.BaseTypes 的引用。

  • (创建一个变量,例如类型为 Microsoft.XLANGs.BaseTypes.XLANGMessagexlangPart) 。

  • 调用 xlangPart。AddPart (...) 使用表达式形状中的相应参数。

    注意

    添加的部件的类型为 XmlDocument ,因此不能使用 AddPart () 方法添加自定义格式化消息部件。

注意

如果收到的多部分消息包含的声明部分数大于声明的部件数,则业务流程引擎将读取消息中有多少部分,然后为与声明消息类型中的部件数匹配的部分构造适当的部件类型,然后为其余部分构造 XmlDocument 部件。

另请参阅

UI 指南和开发人员 API 命名空间参考中的 IBaseMessage.AddPart 方法 (COM)
Web 上的 XSD 资源
使用可分辨字段和属性字段
在业务流程中使用消息