本主题包含以下部分:
使用 Mapping 节点构造一个或多个新消息,并用新信息、从输入消息修改的信息或从数据库获取的信息填充这些消息。您可以修改消息体数据、与其相关的环境及其异常列表的元素。
在首次为节点打开或创建消息映射时,如果指定了选项该映射从消息流节点调用,并映射属性和消息体,则输入消息中的头始终不进行任何修改便复制到输出消息。
如果要在 Mapping 节点中修改消息头,必须选择选项该映射从消息流节点调用,并映射属性、头和消息体。如果选择,所创建的映射允许映射其他元素,包括 MQ、HTTP 和 JMS 头。
可以使用基于输入消息和来自外部数据库数据的元素定义输出消息的组件。您可以通过将输入(消息或数据库)映射到输出,在与该节点关联的映射文件中创建与该节点关联的映射。您可以使用所提供的或用户定义的函数和过程可选地修改由这些映射进行的赋值:例如,当您将字符串值指派到消息输出字段时,可以将它转换为大写。
使用 Mapping 节点:
Mapping 节点在工作台中由以下图标表示:
当您将 Mapping 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 Mapping 节点:
在 z/OS 系统上,代理使用 mqsisetdbparms 命令中指定的代理启动任务标识或用户标识和密码、JCL 和定制数据集 <hlq>.SBIPPROC 中的 BIPSDBP。
如果单击该输入字段旁的浏览,会显示一个对话框,其中列出该节点可访问的所有可用映射例程。选择需要的例程,然后单击确定。 例程名称在映射模块中进行设置。
要使用与此节点关联的映射例程,右键单击节点并选择打开映射。如果映射例程不存在,则在缺省文件中用缺省名称创建一个。 如果文件已存在,也可以在导航器视图中打开文件 <flow_name>_<node_name>.mfmap。
映射例程专用于与其关联的节点类型;您无法将为 Mapping 节点开发的映射例程与任何其他使用映射的节点(如,DataInsert 节点)一起使用。如果创建映射例程,尽管可以从 ESQL 例程调用此例程,但不能从其他任何映射例程调用。
有关使用映射文件及定义其内容的更多信息,请参阅开发消息映射。
您必须设置此属性来正确反映所需的输出消息格式。如果选择一个不包含特殊消息组件的选项(或接受缺省值),则该组件不包含在任何构造的输出消息中。
(在 V2.1 以前的发行版中,相关环境(LocalEnvironment)称为 DestinationList。DestinationList 是有效的并可以用于兼容性。)
(消息树的环境组件不受方式设置的影响。其内容如果存在,会继续从该节点进行传递。)
下表对这些选项进行了说明。
方式 | 描述 |
---|---|
消息(缺省) | 按节点内的修改,通过 Mapping 节点生成或传递消息。 |
LocalEnvironment | 按节点内的修改,通过 Mapping 节点生成或传递 LocalEnvironment 树结构。 |
LocalEnvironment 和消息 | 按节点的修改,通过 Mapping 节点生成或传递 LocalEnvironment 树结构和消息。 |
异常 | 按节点内的修改,通过 Mapping 节点生成或传递异常列表。 |
异常和消息 | 按节点的修改,通过 Mapping 节点生成或传递异常列表和消息。 |
异常和 LocalEnvironment | 按节点的修改,通过 Mapping 节点生成或传递异常列表和 LocalEnvironment 树结构。 |
全部 | 按节点的修改,通过 Mapping 节点生成或传递消息、异常列表和 LocalEnvironment。 |
当您选择此框时,节点将所有数据库的正返回码按错误处理并将以同样的方法生成异常,如同对负或更严重的错误那样的方式。
如果您没有选择框,则节点将警告作为正常返回码处理,并且不生成任何异常。生成的最明显的警告是未找到,在大多数情况下可以安全地作为正常返回码处理。
如果清除该框,则必须处理消息流中的错误来确保代理和数据库的完整性:如果您没有通过自己的处理来解决则忽略错误,因为您已经选择不调用由代理处理的缺省错误。例如,您可能将 failure 终端连接到错误处理子例程。
有关更多详细信息,请参阅验证消息和MRM 域中消息的验证属性。
如果要对 MQRFH2 头使用 MQRFH2C 压缩解析器而非 MQRFH2 解析器,则选中将 MQRFH2C 压缩解析器用于 MQRFH2 域复选框。
其他属性控制 XMLNSC 解析器是否用于输入消息中的混合文本、注释和处理过程。
单击取消以关闭对话框,并废弃对属性所作的所有更改。
在以下表中描述了 Mapping 节点终端。
终端 | 描述 |
---|---|
In | 接受供节点处理的消息的输入终端。 |
Failure | 如果在计算期间检测到故障,则这就是输入消息传播到的输出终端。如果您已选择将警告作为错误处理,即使处理已成功完成,节点也会在返回了数据库警告消息的情况下将消息传播到该终端。 |
Out | 按照映射的执行输出消息的输出终端。 |
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
下表描述 Mapping 节点的“基本”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
数据源 | 否 | 是 | 数据库的 ODBC 数据源名,在该数据库中驻留着您在与该节点关联的映射中引用的表(由映射模块属性标识)。 | |
事务 | 是 | 否 | 自动 | 节点的事务方式。有效值为自动或落实。 |
映射例程 | 是 | 否 | 映射 | 映射例程的名称,该例程包含要对数据库或消息树执行的语句。此例程对于此节点类型是唯一的。 |
映射方式 | 是 | 否 | 消息 | 选择以下某一项:
|
将警告作为错误处理 | 是 | 否 | 已清除 | 将数据库 SQL 警告作为错误处理。如果您选中该复选框,则执行此操作。 |
在数据库出错时抛出异常 | 是 | 否 | 选中 | 数据库错误导致代理抛出异常。如果您选中该复选框,则执行此操作。 |
下表描述 Mapping 节点的“验证”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
验证 | 是 | 是 | 无 | 验证是否发生。有效值为无、内容和值、内容和继承。 |
故障操作 | 是 | 否 | 异常 | 验证失败后将发生什么操作。只有将验证设置为内容或内容和值,才可以设置该属性。有效值为用户跟踪、本地错误日志、异常和异常列表。 |
包含所有值约束 | 是 | 否 | 选中 | 无法编辑此属性。缺省操作,由所选的复选框表明,即验证中包含所有值约束。 |
固定 | 是 | 否 | 无 | 无法编辑此属性。提供了最小修订。 有效值为无和全部。 |
下表描述 Mapping 节点的“一般消息选项”的属性:
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
解析计时 | 是 | 否 | 按需解析 | 该属性控制何时解析输入消息。有效值为按需解析、立即解析和完全解析。 请参阅按需解析,以获取此属性的完整描述。 |
将 MQRFH2C 压缩解析器用于 MQRFH2 域 | 否 | 否 | False | 该属性控制 MQRFH2 头中是否使用 MQRFH2C 压缩解析器,而不是 MQRFH2 解析器。 |
下表描述 Mapping 节点的 XMLNSC 解析器选项。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
将 XMLNSC 压缩解析器用于 XMLNS 域 | 是 | 已清除 | 否 | ![]() ![]() |
混合内容保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为混合文本创建元素。选择无表示忽略混合文本并且不创建元素。 |
注释保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为注释创建元素。选择无表示忽略注释并且不创建元素。 |
处理指令保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为处理指令创建元素。选择无表示忽略处理指令并且不创建元素。 |
下表描述 Mapping 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |