0

有源应用程序和目标应用程序理解不同 CCSID 中的字符。

源应用程序连接到一些默认 CCSID 集的队列管理器。目标应用程序也连接到具有不同 CCSID 集的队列管理器。

我需要澄清这些消息是如何传递和检索的。1)源应用程序将消息放在其Q中。此消息格式不可读。由于两者具有不同的CCSID,我希望MQPUT将提供由Source QM的默认CCSID覆盖的CCSID。-如果错误请更正

2)WMB接收到MRM格式的消息。它根据指定的物理和逻辑结构进行解析。-请澄清是否根据目标应用程序的CCSID在此阶段本身发生数据转换?如果不是,那么当消息从消息代理中出来时,消息的可读格式如何?

3)WMB解析后根据目标应用的CCSID设置CCSID和Encoding的OutputRoot.properties,错误请指正

4) 最后,当目标应用程序收到带有一些 CCSID 的消息 MQGET 时,它会覆盖目标 QM 的 CCSID。如果错误请更正

4

2 回答 2

0

创建 2 个消息集。一个具有输入类型的消息集,另一个具有输出类型的消息集。

根据为其定义的消息集设置输出节点消息域

根据定义的消息集设置输入节点消息域

在输入节点和输出节点之间使用映射节点将能够映射内容。

谢谢阿拉文德

于 2015-01-19T07:29:59.487 回答
0

如果这2条消息是MRM,你不需要创建2个Mset,你可以使用相同的。

在 Mapping 节点中,您可以更改 CCSID 只需分配一个值,但您需要知道 CCSID 是什么(如 819、1208 等...)。

您也可以使用 ESQL 更改 CSSID。

设置 OutputRoot.Properties.CSSID = 819;

3) WMB不会根据target改变CCSID或Enconding,WMB无法知道target在等待什么。

4) 是的,当您收到一条消息时,WMB 将采用编码和 CCSID 并覆盖它。(您可以在 OutputRoot.Properties 中看到它)。

于 2015-01-29T11:32:47.747 回答