配置用于数据转换的消息流

如果您在一些应用程序之间交换消息,而这些应用程序在某些方面不兼容的系统上运行,则您可以配置系统,使其在消息通过代理时提供数据转换。如果在发送和接收系统上以下两个值都是不同的,则数据转换可能是必需的:

  1. CCSID。引用一组编码字符集及其代码点赋值的编码字符集标识。WebSphere Message Broker 可以在任何代码页中处理和构造应用程序消息,在所有操作系统上,WebSphere MQ 提供代码页 和 Unicode 的相互转换。有关代码页支持的更多信息,请参阅 WebSphere MQ 应用程序编程 引用

    这一行为可能受与 WebSphere Message Broker 结合使用的其他产品的影响。有关更多代码页支持信息,请查看其他产品(包括您使用的任何数据库)的文档。

  2. 编码。这定义机器编码数字(二进制整数、压缩十进制整数和浮点数)的方法。作为字符表示的数字与所有其他字符串数据进行同样的处理。

如果发送和接收系统上的本机 CCSID 和编码是相同的,则不需要调用数据转换处理。

WebSphere Message BrokerWebSphere MQ 提供数据转换工具来支持不同系统之间的消息交换。选择使用哪个工具取决于消息流处理的消息的特征:

仅包含文本的消息

如果消息是包含全文本(字符数据或字符串)的 WebSphere MQ 消息,则阅读此部分。如果 WebSphere MQ 支持在其上运行发送和接收应用程序以进行数据转换的系统,请使用 WebSphere MQ 工具。这提供最有效的数据转换选项。

WebSphere MQ 的缺省行为是将消息放到指定本地系统 CCSID 并进行编码的队列。发出 MQGET 的应用程序可以请求队列管理器对它们的本地 CCSID 提供转换并作为 get 处理一部分进行编码。

要使用该选项:

  1. 将消息设计为仅文本。如果您正在使用 COBOL,则将数字字段移动到 USAGE DISPLAY 来将它们放入字符串表单。
  2. 将 MQMD 中的“格式”字段设置为 MQFMT_STRING(值 MQSTR)。
  3. 在接收应用程序中发出附带 MQGMO_CONVERT 的 MQGET。如果您愿意,可以通过将 MQInput 节点的转换属性设置为“是”(通过选择复选框),在代理接收消息时转换消息。

如果需要比 WebSphere MQ 以此方式提供的转换更复杂的数据转换(例如,转换为不受支持的代码页),可以使用 WebSphere MQ 数据转换出口。有关于此的更多信息,请参阅 WebSphere MQ Application Programming Reference

包含数字的消息

如果消息包含数字数据,或仅包含文本而不是 WebSphere MQ 消息,则阅读此部分。如果这些消息可以预订义(即,它们的内容和结构是已知并可以预料的),则使用 WebSphere Message Broker 和 MRM 提供的工具。

所有的应用程序消息都由代理按 Unicode 格式处理,它们在输入时转换为 Unicode 格式,并在输出时从 Unicode 格式转换。您可以配置消息流来影响构造输出消息的方法。

要使用该选项:

  1. 在 MRM 域中定义输出消息。您可以使用以下方法中的一种创建此定义:
    • 导入外部消息定义(例如,C 头文件或 COBOL Copybook)。
    • 在消息定义编辑器中创建消息模型。
  2. 配置消息流来接收和处理此消息:
    1. 如果包含 MQInput 节点,不要请求通过此节点转换。
    2. 在消息流中包含 Compute 节点来创建具有所需内容的输出消息:
      • 如果输出消息是 WebSphere MQ 消息,则对 Compute 节点中的 ESQL 进行编码来设置 CCSID 并为 MQMD 中的目标系统进行编码。

        例如,要为以 CCSID 37 和 785 编码运行的目标 z/OS 系统设置值:

        SET OutputRoot.MQMD.CodedCharSetId = 37;
        SET OutputRoot.MQMD.Encoding = 785;
      • 如果输出消息不是 WebSphere MQ 消息,则对 Compute 节点中的 ESQL 进行编码来设置 CCSID 并对“属性”文件夹中的目标系统进行编码。
自定义的消息

如果消息是自定义的,请阅读此部分。

在 XML 和 JMS 域中支持自定义消息。这些消息都是文本消息,并可以由 WebSphere MQ 处理(如果它们从 WebSphere MQ 应用程序发起或以这些应用程序为目标)。如果不是,则当消息通过 Compute 节点时,通过在消息中的“属性”文件夹里设置 CCSID 字段和“编码”字段,使用 WebSphere Message Broker 工具。

相关概念
预定义和自定义消息
消息流概述
最终用户应用程序支持
相关任务
设计消息流
转换代码页和消息编码
创建消息流
定义消息流内容
支持最终用户应用程序
相关参考
内置节点
支持的代码页
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac12380_