映射 节点

使用 映射 节点以图形方式构造一条或多条新消息,并使用各种类型的信息填充这些消息,以变换消息,路由消息或修改数据库记录。

本主题包含以下几部分:

用途

使用 映射 节点来完成以下操作:
  • 构建新消息
  • 在解析器之间复制消息
  • 将消息从一种格式转换为另一种格式
  • 发送消息
  • 修改数据库内容

概述

映射 节点包含在选用板的 变换 抽屉中,并通过以下图标在 IBM App Connect Enterprise Toolkit 中表示:
映射节点图标

映射 节点需要 消息映射消息映射 可以与 映射 节点 (例如应用程序) 位于同一容器中,也可以位于引用的共享库中。 如果多个解决方案可能使用同一 消息映射,请将该映射存储在共享库中。

为节点创建 消息映射 时,该映射可以包含消息和数据库表作为输入和输出。 也可以映射属性和(可选)头(IBM MQ、HTTP 和 JMS 头)以及局部环境树。

可以使用基于输入消息和外部数据库中数据的元素的映射来定义输出消息的要素。 可通过将输入(消息或数据库)映射到输出,在与此节点关联的映射文件中创建与此节点关联的映射。 可使用所提供的或用户定义的函数和过程修改由这些映射所指定的值;例如,将字符串值指定给消息输出字段时,可以将其转换为大写。

通过使用 映射 节点,可以修改消息体数据,本地环境树和属性文件夹的元素。

映射 节点将通过输入消息的异常列表树,但未更改。

您可以使用以下类型的信息填充新消息:
  • 新信息
  • 输入消息中已修改的信息
  • 从数据库中获取的信息
映射 节点支持映射脚本的本地环境覆盖,这使您能够动态选择将运行的映射。 将使用输入消息中指定的映射名称来代替 映射 节点中设置的映射名称。 覆盖的格式如下:
SET OutputLocalEnvironment.Mapping.MappingRoutine = '{brokerSchemaName}:mapName';
例如:
SET OutputLocalEnvironment.Mapping.MappingRoutine = '{default}:mapperFlow_poNode';
其中 mapperFlow_poNode.map 在缺省代理程序模式中。
如果将 消息映射 文件存储在共享库中,那么覆盖具有以下格式:
SET OutputLocalEnvironment.Mapping.MappingRoutine='{{mbsharedlib:sharedLibraryName}brokerSchemaName}:mapName';
例如:
SET OutputLocalEnvironment.Mapping.MappingRoutine='{{mbsharedlib:shlib1}default}:mapperFlow_poNode';

终端和属性

Mapping 节点的实例放入消息流后,可以对其进行配置; 请参阅 配置消息流节点。 节点的属性在“属性”视图中显示。 所有必须输入值(未定义缺省值)的必需属性用星号标记。

下表描述了 映射 节点终端。

终端 描述
输入 接受节点处理的消息的输入终端。
失败 如果在计算期间检测到故障,则将输入消息传播到此输出终端。 如果您已选择将警告作为错误处理,即使已成功地完成处理,如果返回数据库警告消息,此节点也会将消息传播到该终端。
输出 在完成映射后传播消息的输出终端。
下表描述了 映射 节点属性。
  • 标题为 M 的列指示属性是否为必需(如果在未定义缺省值时必须输入值,那么以星号标记)。
  • 标题为 C 的列指示属性是否可配置(在将消息流添加到 BAR 文件以进行部署时可更改该值)。

下表描述了 映射 节点的 描述 属性。

属性 M C 缺省 描述
节点名 节点类型 节点的名称。
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。

下表描述了 映射 节点的 基本 属性。

属性 M C 缺省 描述 mqsiapplybaroverride 命令属性
事务 自动

节点的事务方式。 受支持的节点值为自动

如果消息流成功,那么将落实 映射 节点所属的消息流; 即,将执行您在映射中定义的操作,并且消息将继续通过消息流。 如果消息流失败,将回滚操作。 如果选择 自动,那么落实或回滚数据库上 映射 节点的操作的能力取决于整个消息流的成功或失败。

 
映射例程 Mapping

映射例程的名称和位置,此例程包含要对数据库或消息树执行的语句。 缺省情况下,分配给映射例程的名称为:

{default_broker_schema}:default_map_file name with no extension
其中,default_broker_schema 是消息流文件所在的代理模式,而 default_map_file_name_with_no_extension 是并置映射节点名称的消息流的名称。 例如,{your.broker.schema}:yourFlowName1_yourNodeName1。 请注意,您无法指定包含空格的值。

如果您将映射文件存储在共享库中,那么将指定该共享库的名称;例如:
{your.broker.schema}:yourFlowName1_yourNodeName1 in Shared Library sharedLibraryName

如果单击此输入字段旁边的浏览,那么将显示一个对话框,其中列出此节点可访问的所有可用映射例程。 选择想要的例程,然后单击确定;例程名称在映射例程属性中进行设置。 可以通过在本地环境中设置映射路由来动态覆盖此属性。 请参阅 动态选择消息映射

要使用与此节点相关联的映射例程,请双击节点,或者右键单击节点并单击打开映射。 如果映射例程不存在,那么“新建消息映射”向导将打开,并且输入了一些缺省值。 如果映射例程已存在,那么将在“图形映射”编辑器中打开。 您还可以在 " 应用程序开发" 视图中打开映射例程,然后双击该例程以在 "图形映射" 编辑器中打开该例程。

如果创建某映射例程,尽管可以从 ESQL 例程调用此例程,但不能从任何其他映射例程调用此例程。

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

 

您可以在 映射 节点中配置输出消息的 验证 属性。 这些属性在序列化消息时生效,也就是,在将表示消息的逻辑树格式化为物理位流格式时。

这些属性不会使输入消息生效。 如果需要此类验证,那么要求输入节点或先前的验证节点已经执行了验证。 有关验证消息和验证属性的更多详细信息,请参阅 验证消息验证属性

下表描述了 映射 节点的 验证 属性:

属性 M C 缺省 描述
验证 此属性控制是否进行验证。 有效值为内容和值内容继承
失败操作 异常 此属性控制验证失败时采取的措施。 只有将“验证”设置为内容内容和值,才可以设置此属性。 有效值为用户跟踪本地错误日志异常异常列表

如果消息传播到节点的 Failure 终端,将不进行验证。