Mapping 节点

本主题包含以下部分:

用途

使用 Mapping 节点构造一个或多个新消息,并用新信息、从输入消息修改的信息或从数据库获取的信息填充这些消息。您可以修改消息体数据、与其相关的环境及其异常列表的元素。

在首次为节点打开或创建消息映射时,如果指定了选项该映射从消息流节点调用,并映射属性和消息体,则输入消息中的头始终不进行任何修改便复制到输出消息。

如果要在 Mapping 节点中修改消息头,必须选择选项该映射从消息流节点调用,并映射属性、头和消息体。如果选择,所创建的映射允许映射其他元素,包括 MQ、HTTP 和 JMS 头。

可以使用基于输入消息和来自外部数据库数据的元素定义输出消息的组件。您可以通过将输入(消息或数据库)映射到输出,在与该节点关联的映射文件中创建与该节点关联的映射。您可以使用所提供的或用户定义的函数和过程可选地修改由这些映射进行的赋值:例如,当您将字符串值指派到消息输出字段时,可以将它转换为大写。

使用 Mapping 节点:

  • 构建新消息
  • 在解析器之间复制消息
  • 将消息从一种格式转换为另一种格式

Mapping 节点在工作台中由以下图标表示:

Mapping 节点图标

在消息流中使用此节点

查看以下样本,以了解如何使用此节点:

配置 Mapping 节点

当您将 Mapping 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。

对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。

如下所示配置 Mapping 节点:

  1. 数据源中指定,在执行消息流的系统上相应数据库所知的名称。代理使用 mqsicreatebrokermqsichangebrokermqsisetdbparms 命令中指定的用户标识和密码信息连接此数据库。

    在 z/OS 系统上,代理使用 mqsisetdbparms 命令中指定的代理启动任务标识或用户标识和密码、JCL 和定制数据集 <hlq>.SBIPPROC 中的 BIPSDBP。

  2. 从下拉菜单中选择事务设置。值为:
    • 自动(缺省值)。该消息流的一部分是 Mapping 节点,如果成功就落实它。即,执行在映射中定义的操作并且消息继续通过消息流。如果消息流失败,则回滚。如果选择自动,则在数据库上落实或回滚 Mapping 节点操作的功能要取决于整个消息流的成败。
    • 落实。如果不考虑整个消息流的成败,要在连接到该节点的数据库上落实在该消息流中执行的任何未落实的操作,请选择落实。即使消息流失败也落实对数据库进行的更改。
  3. 映射例程中,标识要在该节点中执行的映射例程。缺省情况下,指定给映射例程的名称与定义例程的映射文件名相同。当您将文件的缺省名包含在消息流中时,它就是与节点名连接的消息流名称(例如,消息流 MFlow1 中第一个 Mapping 节点的 MFlow1_Mapping.mfmap)。指定的值中不能包含空格。

    如果单击该输入字段旁的浏览,会显示一个对话框,其中列出该节点可访问的所有可用映射例程。选择需要的例程,然后单击确定。 例程名称在映射模块中进行设置。

    要使用与此节点关联的映射例程,右键单击节点并选择打开映射。如果映射例程不存在,则在缺省文件中用缺省名称创建一个。 如果文件已存在,也可以在导航器视图中打开文件 <flow_name>_<node_name>.mfmap

    映射例程专用于与其关联的节点类型;您无法将为 Mapping 节点开发的映射例程与任何其他使用映射的节点(如,DataInsert 节点)一起使用。如果创建映射例程,尽管可以从 ESQL 例程调用此例程,但不能从其他任何映射例程调用。

    有关使用映射文件及定义其内容的更多信息,请参阅开发消息映射

  4. 映射方式中,指定您要用于处理通过 Mapping 节点传递的信息的方式。您可以选择由 Mapping 节点生成和修改的消息LocalEnvironment异常组件的任何组合。

    您必须设置此属性来正确反映所需的输出消息格式。如果选择一个不包含特殊消息组件的选项(或接受缺省值),则该组件不包含在任何构造的输出消息中。

    (在 V2.1 以前的发行版中,相关环境(LocalEnvironment)称为 DestinationList。DestinationList 是有效的并可以用于兼容性。)

    (消息树的环境组件不受方式设置的影响。其内容如果存在,会继续从该节点进行传递。)

    下表对这些选项进行了说明。

    方式 描述
    消息(缺省) 按节点内的修改,通过 Mapping 节点生成或传递消息。
    LocalEnvironment 按节点内的修改,通过 Mapping 节点生成或传递 LocalEnvironment 树结构。
    LocalEnvironment 和消息 按节点的修改,通过 Mapping 节点生成或传递 LocalEnvironment 树结构和消息。
    异常 按节点内的修改,通过 Mapping 节点生成或传递异常列表。
    异常和消息 按节点的修改,通过 Mapping 节点生成或传递异常列表和消息。
    异常和 LocalEnvironment 按节点的修改,通过 Mapping 节点生成或传递异常列表和 LocalEnvironment 树结构。
    全部 按节点的修改,通过 Mapping 节点生成或传递消息、异常列表和 LocalEnvironment。
  5. 在属性对话框导航器中选择“基本”,并设置或清除两个复选框:
    • 如果您要将数据库警告消息作为错误来处理,并且让节点将输出消息传播到 failure 终端,则选中将警告作为错误处理复选框。该框起初未选中。

      当您选择此框时,节点将所有数据库的正返回码按错误处理并将以同样的方法生成异常,如同对负或更严重的错误那样的方式。

      如果您没有选择框,则节点将警告作为正常返回码处理,并且不生成任何异常。生成的最明显的警告是未找到,在大多数情况下可以安全地作为正常返回码处理。

    • 如果在检测到数据库错误时想要代理生成异常,选择在数据库出错时抛出异常复选框。该框起初为选中。

      如果清除该框,则必须处理消息流中的错误来确保代理和数据库的完整性:如果您没有通过自己的处理来解决则忽略错误,因为您已经选择不调用由代理处理的缺省错误。例如,您可能将 failure 终端连接到错误处理子例程。

  6. 如果您要 MRM 解析器按照从消息集生成的字典验证消息的体,则在属性对话框导航器中选择“验证”。(如果消息传播到节点的 Failure 终端,则不进行验证。)

    有关更多详细信息,请参阅验证消息MRM 域中消息的验证属性

  7. 在属性对话框导航器中选择“一般消息选项”。缺省情况下,解析定时设置为按需解析。这会导致延迟验证,直至进行部分解析。如果将该选项更改为立即,则覆盖部分解析,并且会解析并验证消息中的所有内容;除了此时无法解析的那些组合为“选项”或“消息”的复杂类型。如果将该选项更改为完全解析,则将覆盖部分解析,并且会解析并验证消息中的所有内容;此时无法解析的组合为“选项”或“消息”的复杂类型会导致验证失败。

    如果要对 MQRFH2 头使用 MQRFH2C 压缩解析器而非 MQRFH2 解析器,则选中将 MQRFH2C 压缩解析器用于 MQRFH2 域复选框。

  8. 如果要将 XMLNSC 解析器用于 XMLNS 域中的消息,则选择“属性”对话框导航器中的 XMLNSCparser 选项并选中将 XMLNSC 压缩解析器用于 XMLNS 域复选框。

    其他属性控制 XMLNSC 解析器是否用于输入消息中的混合文本、注释和处理过程。

  9. 选择属性对话框导航器中的“描述”,以输入简短描述和/或详细描述。
  10. 单击应用在不关闭“属性”对话框的情况下对 Mapping 节点进行更改。单击确定以应用更改,并关闭属性对话框。

    单击取消以关闭对话框,并废弃对属性所作的所有更改。

终端和属性

在以下表中描述了 Mapping 节点终端。

终端 描述
In 接受供节点处理的消息的输入终端。
Failure 如果在计算期间检测到故障,则这就是输入消息传播到的输出终端。如果您已选择将警告作为错误处理,即使处理已成功完成,节点也会在返回了数据库警告消息的情况下将消息传播到该终端。
Out 按照映射的执行输出消息的输出终端。

下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。

下表描述 Mapping 节点的“基本”属性。

属性 M C 缺省值 描述
数据源   数据库的 ODBC 数据源名,在该数据库中驻留着您在与该节点关联的映射中引用的表(由映射模块属性标识)。
事务 自动 节点的事务方式。有效值为自动落实
映射例程 映射 映射例程的名称,该例程包含要对数据库或消息树执行的语句。此例程对于此节点类型是唯一的。
映射方式 消息 选择以下某一项:
  • 消息
  • LocalEnvironment
  • LocalEnvironment 和消息
  • 异常
  • 异常和消息
  • 异常和 LocalEnvironment
  • 全部
如果要构造传播多个目标消息的映射,将该属性设置为“本地环境和消息”以确保节点正确执行。
将警告作为错误处理 已清除 将数据库 SQL 警告作为错误处理。如果您选中该复选框,则执行此操作。
在数据库出错时抛出异常 选中 数据库错误导致代理抛出异常。如果您选中该复选框,则执行此操作。

下表描述 Mapping 节点的“验证”属性。

属性 M C 缺省值 描述
验证 验证是否发生。有效值为内容和值内容继承
故障操作 异常 验证失败后将发生什么操作。只有将验证设置为内容内容和值,才可以设置该属性。有效值为用户跟踪本地错误日志异常异常列表
包含所有值约束 选中 无法编辑此属性。缺省操作,由所选的复选框表明,即验证中包含所有值约束。
固定 无法编辑此属性。提供了最小修订。 有效值为全部

下表描述 Mapping 节点的“一般消息选项”的属性:

属性 M C 缺省值 描述
解析计时 按需解析 该属性控制何时解析输入消息。有效值为按需解析立即解析完全解析

请参阅按需解析,以获取此属性的完整描述。

将 MQRFH2C 压缩解析器用于 MQRFH2 域 False 该属性控制 MQRFH2 头中是否使用 MQRFH2C 压缩解析器,而不是 MQRFH2 解析器。

下表描述 Mapping 节点的 XMLNSC 解析器选项。

属性 M C 缺省值 描述
将 XMLNSC 压缩解析器用于 XMLNS 域 已清除 更新开始Setting this property causes the outgoing MQRFH2 to specify the XMLNS instead of XMLNSC parser, allowing an external application to remain unchanged. If outgoing messages do not contain MQRFH2 headers this property has no effect.更新结束
混合内容保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为混合文本创建元素。选择表示忽略混合文本并且不创建元素。
注释保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为注释创建元素。选择表示忽略注释并且不创建元素。
处理指令保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为处理指令创建元素。选择表示忽略处理指令并且不创建元素。

下表描述 Mapping 节点的“描述”属性。

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04720_