如何创建链接

创建映射时,从源架构中的 RecordField 节点到目标架构中的 RecordField 节点的链接是最基本的活动。 本主题为此活动的不同用法(包括创建指向和来自 functoid 的链接)提供了分步说明。 有关使用 functoid 的其他信息,请参阅 使用 Functoid 创建更复杂的映射

本主题中的说明假定您已经打开了一个 BizTalk 映射,并且已为该映射选择了源架构和目标架构。 有关打开地图和为地图选择架构的详细信息,请参阅 管理项目中的映射

  1. 在 BizTalk 映射器中,将 “字段” 或“ 记录 ”节点从源架构树拖到目标架构树中的 “字段 ”或“ 记录 ”节点。

    -或-

  2. 在 BizTalk 映射器中,将 “字段” 或“ 记录 ”节点从目标架构树拖到源架构树中的 “字段 ”或 “记录 ”节点。

    创建链接时,应注意以下事项:

  • 源架构树中 FieldRecord 节点的数据类型应与它在目标架构树中链接到的 FieldRecord 节点的数据类型匹配。

  • 如果源架构中的 FieldRecord 节点是可选的,并且特定源实例消息不包含相应的元素或属性,则 BizTalk 映射器不会在目标实例消息中创建相应的元素或属性,即使 FieldRecord 节点在映射中具有直接链接也是如此。

  • 不能链接到目标架构中具有与之关联的常量值的 FieldRecord 节点。 另一方面,可以链接到目标架构中具有关联的默认值的必需 FieldRecord 节点。 但是请注意,在测试映射时将使用该默认值。

  • 不能创建指向 任何元素任何属性序列组选择组 节点的链接。 有关这些类型的节点的详细信息,请参阅以下主题,请参阅 任意元素节点序列组节点选择组节点

  • 可能需要展开架构树以查看要映射的字段。 有关详细信息,请参阅 如何展开和折叠架构树

  1. 在 BizTalk 映射器中,将 记录字段 节点从源架构或目标架构拖到网格页中的 functoid。

    -或-

  2. 将 functoid 从网格页拖到源或目标架构中的“记录”或“字段”节点。

    在源架构中的 RecordField 节点与 functoid 之间创建链接时,将创建该 functoid 的输入。 在目标架构中的 RecordField 节点与 functoid 之间创建链接时,将从该 functoid 创建输出。

    重要

    不能在 functoid 和 Any Element 节点或 Any Attribute 节点之间进行链接。

    注意

    必须先将 functoid 添加到网格页,然后才能在 RecordField 节点与该 functoid 之间添加链接。 有关向网格页添加 functoid 的详细信息,请参阅 How to Add Basic Functoids to a Map。 另请参阅 向地图添加高级 Functoid

    注意

    不能链接到目标架构中具有与之关联的常量值的 Field 节点。 另一方面,可以链接到目标架构中具有关联的默认值的必需 Field 节点。 但是请注意,在测试映射时将使用该默认值。

  • 在 BizTalk 映射器中,将一个 functoid 拖至网格页中的另一个 functoid。

    注意

    链接在网格页中是按照从左到右的顺序进行处理的。 不能创建从一个 functoid 到直接位于其上方或下方的另一个 functoid 的链接。 functoid 之间的链接被解释为链接表示从左侧的 functoid 输出并输入到右侧的 functoid。

在映射中,您可以将链接的终结点拖放到另一个节点或 functoid 上。

更改链接的终结点:

  1. 单击您要为其更改源或目标节点/functoid 的链接。 该链接的终结点变为粗体。

  2. 在任何粗体终结点上按下鼠标键并将该链接拖动到所需的节点/functoid。 这会将链接从以前的节点/functoid 更改为新节点/functoid。

    但是,对于无效链接,您无法执行此操作,如:

  • 添加链接作为日期/时间 functoid 的输入链接。 日期/时间 functoid 不需要任何输入链接。

  • 复制中间 functoid 中的链接。

    如果您将 Node1 链接到 Node2,并且还将 Node1 链接到 Node3,则不能拖动 Node2 上链接的终结点以进行更改并链接到 Node3。

另请参阅

使用链接指定记录和字段映射