如何使用多部分消息类型

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

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

注释

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

注释

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

添加多部分消息类型

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

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

    如果文件夹是折叠状态,分段消息类型文件夹将会展开,并添加一个新的分段消息类型,其中包含一个默认消息部件。

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

    如果您的多部分消息类型需要多个消息部件,您可以通过为新消息部件分配名称来添加额外的部件。

  4. 将每个消息部件与类型(如 .NET 类或架构)相关联。

删除多部分消息类型

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

    注释

    从编排中删除多部件消息类型也会从使用该类型的消息中删除类型信息。

    注释

    显示为只读的项在另一个流程编排中定义。

从多部分消息类型中删除一个部分

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

    注释

    如果 消息正文部件 属性设置为 true,则无法删除消息类型的消息部件。 必须首先将 消息正文部件 属性设置为 True,这样才能为同一消息类型的其他部件设置为 True。

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

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

    资产 DESCRIPTION
    类型修饰符 确定多部分消息的类型范围:

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

将部件添加到现有多部分消息

  • BizTalk Server 提供将部件添加到多部分 XLANG 消息中的功能,同时也允许通过索引引用超过最初声明的部件数的消息部件(前提是该部件存在)。 此功能对于发送或接收包含可变附件数量的 SMTP 邮件可能很有用。 此功能的实现方式如下:

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

  • 创建类型为 Microsoft.XLANGs.BaseTypes.XLANGMessage 的变量(例如 xlangPart)。

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

    注释

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

注释

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

另请参阅

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