本主题包含以下部分:
使用 ResetContentDescriptor 节点请求由不同的解析器重新解析消息。如果新解析器为 MRM,则还可指定不同的消息模板(消息集、类型和格式)。该节点不重新解析消息,但您为该节点设置的属性确定了消息在下次由消息流重新解析时采用的解析方式。
节点将新解析器与输入消息位流相关联。如果已解析了消息以创建消息树,且该树的内容已修改(如,由 Compute 节点修改),则 ResetContentDescriptor 节点必须调用当前与消息关联的解析器以解析消息并重新创建位流。
如果消息流在 ResetContentDescriptor 节点接收消息之前已更新该消息,则必须确保更改后的消息内容仍然对当前解析器有效。如果情况并非如此,解析器会在它尝试从消息树重新创建位流时生成错误,且 ResetContentDescriptor 节点会发出异常。例如,如果已将新字段添加到 MRM 域中的消息,而模型中该字段不存在,则重新创建位流失败。
ResetContentDescriptor 节点不会:
ResetContentDescriptor 节点在工作台中由以下图标表示:
此处为如何使用该节点的示例,假定要在 BLOB 和 MRM 域之间进行交换。当输入消息流时,入局消息的格式可能是未知的,因此调用 BLOB 解析 器。稍后在消息流中,您可能决定将消息预定义为 MRM 域中的消息,并可以使用 ResetContentDescriptor 节点设置正确的值,在消息流中的后继节点解析消息时将使用这些值。
下表显示了典型的 ResetContentDescriptor 节点属性。
属性 | 值 |
---|---|
消息域 | MRM |
复位消息域 | 选中 |
消息集 | DH53CU406U001 |
复位消息集 | 选中 |
消息类型 | m_MESSAGE1 |
复位消息类型 | 选中 |
消息格式 | CWF |
复位消息格式 | 选中 |
消息域设置为 MRM,并在下次解析消息时调用 MRM 解析器。消息集、类型和格式是定义消息模型的消息模板值,且因需要更改全部属性而选中了所有复位复选框。
ResetContentDescriptor 节点使 BLOB 解析器与输入消息关联以构造消息的物理位流(不是它的逻辑树表示)并稍候将该位流传递到 MRM 解析器。然后 MRM 解析器使用该 ResetContentDescriptor 节点中定义的消息模板(消息集、消息类型和消息格式)解析位流。
当您将 ResetContentDescriptor 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 ResetContentDescriptor 节点:
如果合适,您还可以指定用户定义的解析器。
选中复位消息域复选框。
这些属性设置域、集、类型,在要通过 ResetContentDescriptor 节点传递的消息的消息头中需要这些属性。然而,仅当已存在合适的头时才会发生。如果消息没有 MQRFH2 头,则节点不会创建。
有关更多详细信息,请参阅验证消息和MRM 域中消息的验证属性。
单击取消以关闭对话框,并废弃对属性所作的所有更改。
在以下表中描述了 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 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为混合文本创建元素。选择无表示忽略混合文本并且不创建元素。 |
注释保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为注释创建元素。选择无表示忽略注释并且不创建元素。 |
处理指令保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为处理指令创建元素。选择无表示忽略处理指令并且不创建元素。 |
下表描述 ResetContentDescriptor 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |