ResetContentDescriptor 节点

本主题包含以下部分:

用途

使用 ResetContentDescriptor 节点请求由不同的解析器重新解析消息。如果新解析器为 MRM,则还可指定不同的消息模板(消息集、类型和格式)。该节点不重新解析消息,但您为该节点设置的属性确定了消息在下次由消息流重新解析时采用的解析方式。

节点将新解析器与输入消息位流相关联。如果已解析了消息以创建消息树,且该树的内容已修改(如,由 Compute 节点修改),则 ResetContentDescriptor 节点必须调用当前与消息关联的解析器以解析消息并重新创建位流。

如果消息流在 ResetContentDescriptor 节点接收消息之前已更新该消息,则必须确保更改后的消息内容仍然对当前解析器有效。如果情况并非如此,解析器会在它尝试从消息树重新创建位流时生成错误,且 ResetContentDescriptor 节点会发出异常。例如,如果已将新字段添加到 MRM 域中的消息,而模型中该字段不存在,则重新创建位流失败。

ResetContentDescriptor 节点不会

  • 更改消息内容。它更改消息属性以指定下次调用解析器时解析位流的方法。
  • 将消息从一种格式转换为另一种格式。例如,如果入局消息具有 XML 的消息格式而外出消息格式为 CWF,则 ResetContentDescriptor 节点不会重新 格式化。它调用解析器以重新创建入局 XML 消息的位流,并将 XML 标记保留在消息中。当后继节点重新解析消息时,XML 标记无效且重新解析失败。

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

ResetContentDescriptor 节点图标

在消息流中使用此节点

此处为如何使用该节点的示例,假定要在 BLOB 和 MRM 域之间进行交换。当输入消息流时,入局消息的格式可能是未知的,因此调用 BLOB 解析 器。稍后在消息流中,您可能决定将消息预定义为 MRM 域中的消息,并可以使用 ResetContentDescriptor 节点设置正确的值,在消息流中的后继节点解析消息时将使用这些值。

下表显示了典型的 ResetContentDescriptor 节点属性。

属性
消息域 MRM
复位消息域 选中
消息集 DH53CU406U001
复位消息集 选中
消息类型 m_MESSAGE1
复位消息类型 选中
消息格式 CWF
复位消息格式 选中

消息域设置为 MRM,并在下次解析消息时调用 MRM 解析器。消息集、类型和格式是定义消息模型的消息模板值,且因需要更改全部属性而选中了所有复位复选框。

ResetContentDescriptor 节点使 BLOB 解析器与输入消息关联以构造消息的物理位流(不是它的逻辑树表示)并稍候将该位流传递到 MRM 解析器。然后 MRM 解析器使用该 ResetContentDescriptor 节点中定义的消息模板(消息集、消息类型和消息格式)解析位流。

配置 ResetContentDescriptor 节点

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

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

如下所示配置 ResetContentDescriptor 节点:

  1. 如果要将不同的解析器与消息关联,则在消息域中指定新的域:
    • MRM
    • XML
    • JMSMap
    • JMSStream
    • MIME
    • BLOB

    如果合适,您还可以指定用户定义的解析器。

    选中复位消息域复选框。

  2. 如果 MRM 解析器要重新解析消息,指定要与输入消息关联的模型的其他属性,并选中每个字段下的复位...复选框。如果 MRM 解析器已经与输入消息关联,则必须仅指定要更改的属性。
    1. 消息集中输入消息集。 从可用消息集的下拉列表选择一个值(显示了消息集的名称和标识)。
    2. 消息类型中输入消息的标识。在编辑器视图的消息属性中可以找到该标识。您在创建消息时指定消息标识。完全按消息属性中所示输入标识。
    3. 消息格式中输入消息的格式。这为 MRM 解析器指定有线格式层标识。您可以从下拉列表(列出了在上述指定的消息集上所定义格式的标识)选择一个格式。

    这些属性设置域、集、类型,在要通过 ResetContentDescriptor 节点传递的消息的消息头中需要这些属性。然而,仅当已存在合适的头时才会发生。如果消息没有 MQRFH2 头,则节点不会创建。

  3. 如果已定义了 XML、JMS、MIME 或 BLOB 解析器,则将消息集消息类型消息格式保留为空白。
  4. 如果您要 MRM 解析器按照从消息集生成的字典验证消息的体,则在属性对话框导航器中选择“验证”。(如果消息传播到节点的 Failure 终端,则不进行验证。)

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

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

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

终端和属性

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

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

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

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

属性 M C 缺省值 描述
消息域   与您要重新解析的消息相关联的消息域。
复位消息域 已清除 是否复位消息域。如果您选中该复选框,则执行此操作。
消息集   与您要重新解析的消息相关联的消息集。
复位消息集 已清除 是否复位消息集。如果您选中该复选框,则执行此操作。
消息类型   与您要重新解析的消息相关联的消息类型。
复位消息类型 已清除 是否复位消息类型。如果您选中该复选框,则执行此操作。
消息格式   与您要重新解析的消息相关联的消息格式。
复位消息格式 已清除 是否复位消息格式。如果您选中该复选框,则执行此操作。

下表描述 ResetContentDescriptor 节点的“验证”属性。请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。

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

下表中描述了 ResetContentDescriptor 节点的“一般消息选项”的属性。

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

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

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

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

属性 M C 缺省值 描述
将 XMLNSC 压缩解析器用于 XMLNS 域 已清除 更新开始此属性控制 XMLNSC 压缩解析器是否用于 XMLNS 域中的消息。请注意,如果您设置该属性,则当输入 RFH2 头或缺省属性域是 XMLNS 时,连接到输出终端的节点中的 XMLNSC 下会显示消息数据。更新结束
混合内容保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为混合文本创建元素。选择表示忽略混合文本并且不创建元素。
注释保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为注释创建元素。选择表示忽略注释并且不创建元素。
处理指令保留方式 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为全部。选择全部表示为处理指令创建元素。选择表示忽略处理指令并且不创建元素。

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

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