ResetContentDescriptor 节点

使用 ResetContentDescriptor 节点请求由不同的解析器重新解析报文。

本主题包含以下几部分:

用途

此节点将新解析器信息与输入消息位流相关联。 如果已对报文进行了解析以创建报文树,并且该树的内容已被修改(例如被 Compute 节点修改),则 ResetContentDescriptor 节点必须通过调用当前解析器从报文树重新创建比特流。

如果您的消息流在 ResetContentDescriptor 节点接收到消息之前更新了消息,请确保已更改的消息内容对当前解析器仍然有效。 如果内容无效,解析器在尝试从消息树重新创建比特流时会产生错误,ResetContentDescriptor 节点会引发异常。 例如,如果已将新字段添加到 MRM 域中的消息中,而模型中不存在此字段,那么重新创建位流将失败。

如果将 MRM 指定为新解析器,那么还可以指定不同的消息模板(消息集、消息类型和消息格式)。 如果将 DFDL 指定为新解析器,那么还可以指定不同的模式位置文档根 此节点不重新解析消息,但您为此节点设置的属性确定消息在下次由消息流重新解析时采用的解析方式。

ResetContentDescriptor 节点不会这样做:

  • 更改消息内容;它更改消息属性,以指定解析器下次启动时解析位流的方式。
  • 将信息从一种格式转换为另一种格式;例如,如果传入的信息格式为 XML,而传出的信息格式为二进制,则 ResetContentDescriptor 节点不会进行任何格式转换。 它启动解析器以重新创建在消息中保留 XML 标记的入局 XML 消息的位流。 当后续节点重新解析消息时,XML 标记无效,解析失败。

ResetContentDescriptor 节点包含在调板的 Transformation 抽屉中,并在 IBM® App Connect Enterprise 工具包中用以下图标表示:

ResetContentDescriptor 节点图标

在消息流中使用此节点

这里是一个使用该节点的示例,假设您要在 BLOB 和 MRM 域之间进行交换。 当入局消息进入消息流时,其格式可能未知,因此将启动 BLOB 解析器。 在消息流的稍后部分,您可能会决定将消息预定义为 MRM 域中的消息,这时您可以使用 ResetContentDescriptor 节点来设置正确的值,以便消息流中的后续节点解析消息时使用。

下表列出了典型的 ResetContentDescriptor 节点属性。
属性
消息域 DFDL
重置消息域 选中
消息模型 MyMessageModel
重置消息模型 选中
消息 m_MESSAGE1
重置消息 选中
物理格式  
重置物理格式 选中

消息域设置为 DFDL,并在下次解析消息时启动 DFDL 解析器。 消息模型消息是定义消息模型的消息模板值,并且将选中所有重置复选框,因为需要更改所有属性。 将为您提供消息模型属性的值。

ResetContentDescriptor 节点会使与输入报文关联的 BLOB 解析器构建报文的物理比特流(而不是逻辑树表示),随后将其传递给 MRM 解析器。 然后,MRM 解析器会使用该 ResetContentDescriptor 节点中指定的消息模板(消息集消息类型消息格式)解析比特流。

终端和属性

ResetContentDescriptor 节点终端如下表所示。

终端 描述
输入 接受节点处理的消息的输入终端。
失败 在此节点检测到错误的情况下,消息路由到的输出终端。
输出 在新解析器通过属性进行标识的情况下,消息路由到的输出终端。

下表描述了此节点的属性。 标题为 M 的列指出属性是否为必需(如果未定义缺省值时您必须输入值,那么将以星号标记);标题为 C 的列指出属性是否可配置(将消息流添加到 BAR 文件以进行部署时可以更改此值)。

ResetContentDescriptor 节点的描述属性如下表所示。

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

ResetContentDescriptor 节点的基本属性如下表所示。

ResetContentDescriptor 节点的基本属性如下表所示。

属性 M C 缺省 描述
消息域 BLOB 与想要重新解析的消息相关联的消息域。
重置消息域 未选中 如果选中重置复选框,消息域属性将重置。 在这种情况下,如果不为消息域属性选择值,消息域属性值将为 BLOB
消息模型   在其中定义想要解析的消息的消息模型模式文件的名称或位置。 单击浏览时,您将看到所选域的可用消息模型模式文件列表。
重置消息模型 未选中 如果选中重置复选框,模式位置属性将重置。 在这种情况下,如果不为模式位置属性选择值,模式位置属性值将为空白。
消息   对整个数据文档建模且包含在消息模型模式文件中的全局元素的名称或位置。 此列表将以您选择的消息模型中定义的所有可用消息进行填充。
重置消息 未选中 如果选中重置复选框,文档根目录属性将重置。 在这种情况下,如果不为文档根目录属性选择值,文档根目录属性值将为空白。
物理格式   如果使用 DFDL 域,那么无需选择想要重新解析的消息的物理格式。 在选中的 DFDL 模式文件中定义消息的物理格式。
重置物理格式 未选中 如果选中重置复选框,物理格式属性将重置。 在这种情况下,如果不为物理格式属性选择值,物理格式属性值将为空白。

ResetContentDescriptor 节点的解析器选项属性如下表所示。

属性 M C 缺省 描述
解析计时 按需解析 此属性控制何时解析重新解析的消息。 有效值为按需立即完成

有关此属性的完整描述,请参阅 按需解析

将 MQRFH2C 压缩解析器用于 MQRFH2 头 未选中 此属性控制是否将 MQRFH2C 紧凑型解析器而不是 MQRFH2 解析器用于 MQRFH2 头。
使用 XML 模式数据类型构建树 未选中 此属性控制 XMLNSC 解析器是否使用取自 XML 模式的数据类型在消息树中创建语法元素。 仅当您将验证选项卡上的验证属性设置为内容内容和值时,才能选择此属性。
将 XMLNSC 压缩解析器用于 XMLNS 域 未选中 此属性控制是否将 XMLNSC 压缩解析器用于 XMLNS 域中的消息。 如果设置此属性,那么当输入 MQRFH2 头或域为 XMLNS 时,消息数据会出现在连接到输出终端的节点中的 XMLNSC 下面。
保留混合内容 未选中 此属性控制当遇到解析的消息中的混合文本时,XMLNSC 解析器是否在消息树中创建元素。 如果选中此复选框,将为混合文本创建元素。 如果取消选中此复选框,将忽略混合文本并且不创建任何元素。
保留注释 未选中 此属性控制当遇到解析的消息中的注释时,XMLNSC 解析器是否在消息树中创建元素。 如果选中此复选框,将为注释创建元素。 如果取消选中此复选框,将忽略注释并且不创建任何元素。
保留处理指令 未选中 此属性控制当遇到解析的消息中的处理指示信息时,XMLNSC 解析器是否在消息树中创建元素。 如果选中此复选框,将为处理指令创建元素。 如果取消选中此复选框,将忽略处理指令并且不创建任何元素。
不透明元素 此属性用于在 XMLNSC 解析器要进行不透明解析的解析消息中指定一列元素。 仅在未启用验证时才执行不透明解析(也就是,如果验证属性的值设置为);如果启用验证,那么将忽略不透明中指定的条目。

ResetContentDescriptor 节点的验证属性如下表所示。 有关这些属性的完整描述,请参阅 验证属性

属性 M C 缺省 描述 mqsiapplybaroverride 命令属性
验证 此属性控制是否进行验证。 有效值为内容内容和值以及继承 validateMaster
失败操作 异常 此属性控制验证失败时采取的措施。 只有将验证设置为内容和值内容时,才可以设置此属性。 有效值为用户跟踪本地错误日志例外项例外项列表  
下表中描述了该节点的监控属性。
属性 M C 缺省 描述
事件 您为节点定义的事件将显示在此选项卡上。 缺省情况下,不会在消息流中的任何节点上定义任何监视事件。 使用 添加编辑删除 来创建,更改或删除节点的监视事件; 请参阅 使用监视属性配置监视事件源 以获取详细信息。

通过选中或取消选中启用复选框,可以启用或禁用此处显示的事件。