IBM MQ 服务定义属性

在创建新服务定义或编辑现有服务定义时,可设置服务定义的特性与属性。

某些属性仅在服务定义属于特定绑定类型或消息交换模式时才可用。 进入以下链接以查看服务定义的各个属性页面的属性:

对于每个属性,都有一个简短描述来说明在什么情况下您可能需要配置此属性。

“常规”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 常规 页面上设置的属性。

属性 描述
名称空间 指定服务的名称空间。 已经指定了临时缺省值。
名称 新服务定义的唯一名称。 该服务定义名称不区分大小写,但混合大小写的服务定义名称将被保留。
消息交换模式 消息交换模式描述调用服务期间发送和接收的消息的方向。 一共有两个可能的选择:
  • 单向表示仅单向发送消息。
  • 请求/响应表示发送消息和接收响应。
绑定类型 指定 IBM® MQ 服务定义规范的版本。
注释 指定注释以便给 WSDL 文件中的服务作注解。

“操作”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 操作 页面上设置的属性。 每个服务定义只有 1 个操作。

属性 描述
操作名称 指定操作的名称。 此属性必须具有值,以便创建服务定义。
操作 供服务提供者用于分派服务请求。 例如:允许使用单个目标部署多个服务、允许服务提供者相应地分派到达目标的请求。

当绑定类型为 MQ 时,Action 指定 targetAction

注释 指定注释以便给 WSDL 文件中的操作作注解。

“输入目标”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输入目标 页面上设置的属性。 该输入页面定义服务期望的消息的详细信息以及从中检索消息的目标。

属性 描述
输入目标名称 指定请求被发送至的目标队列或目标主题的名称,例如:
IBM MQ IRI 的 queue-dest 或 topic-dest 部分,例如:

msg/queue/INS.QUOTE.REPLY
目标队列管理器名称 指定目标队列管理器的名称。
连接队列管理器 指定请求服务连接至的队列管理器的名称。 这对应于在 MQCONN() 与 MQCONNX() 调用上使用的 QmgrName 参数。
客户机连接属性 客户机连接属性指定详细的绑定,它们可包括有关服务请求者如何绑定至特定机器或通道的信息。 能够指定客户机绑定和通道名称在某些情况下很有用,但是过度指定服务可能会有限制。 此问题的解决方案是将合并到服务定义中的绑定信息量降至最低,并允许底层基础结构或 IBM MQ 在可能的情况下路由消息。
通道表名 指定用于标识通道连接的客户机通道表文件的名称。
  • 如果未指定 Channel table name,那么将忽略 Channel table library
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Channel table name
通道表库 指定客户机通道表的路径。
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLLIB 环境变量,那么将忽略 Channel table library
  • 如果未指定 Channel table name,那么将忽略 Channel table library
客户机通道连接名称 指定服务请求者建立 IBM MQ MQI 客户机绑定连接时使用的连接字符串。 对于 TCP/IP,连接采用主机名后跟端口号的格式,例如:

OS2ROG3(1822)
如果未指定端口号,那么将使用缺省值 1414。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Client channel connection name
客户机通道名称 指定 IBM MQ 服务请求者建立 IBM MQ MQI 客户机绑定连接时使用的通道。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Client channel name
客户机通道传输类型 指定 IBM MQ 服务请求者建立 IBM MQ MQI 客户机绑定连接时要使用的传输类型。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Transport type
一共有两个不同的可选值:
  • TCP. 用于指定 TCP/IP 传输协议。 这是缺省值。
  • LU62. 用于指定 LU6.2 传输协议。

“输入消息模式”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输入消息模式 页面上设置的属性。 它们允许您定义消息有效内容的模式。

属性 描述
入站数据类型 指定期望的入站数据类型。 对于简单类型,可以使用内置 XML xsd 类型对此进行建模,例如,xsd:stringxsd:int。 对于更复杂的类型,可以通过针对数据类型指定 Import schema fileImport namespace,从外部文件导入数据类型。
导入模式文件 指定要导入的模式文件。
导入名称空间 指定要导入的名称空间。

“输入消息头”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输入消息头 页面上设置的属性。 该输入页面定义服务期望的消息的详细信息以及从中检索消息的目标。 某些属性仅适用于 MQ 绑定类型的服务定义。

属性 描述
CCSID 指定与 MQMD 结构中 CodedCharSetId 字段相对应的编码字符集标识。 如果未指定此值,那么服务请求者和服务提供者将使用与消息数据的字符集相对应的值。
格式 指定消息数据的格式名称。 此属性对应于 MQRFH2 格式字段,或者对应于 MQMD 格式字段(如果 MQRFH2 不存在)。 该值必须是长度介于 0 与 8 个字符(由 A-Z 和 0-9 字符组成)之间的字符串。

根据 格式字段中的准则,可以将 格式 设置为任何值。

用户属性 指定 IBM MQ 服务消息中携带的用户定义的数据。 必须采用允许用于 RFH2 文件夹元素的格式来指定值;采用通过与 XML 类似的语法编码的一系列三元组来指定值,例如:

<name dt="datatype">value</name>
dt="datatype" 元素是可选的,并且如果省略,那么将被视为字符串,允许将元素指定为:

<name>value</name>
例如:

<myprop1>value1</myProp1><myprop2>value2</myProp2><myprop3 dt="i4">99</myProp3>
有关允许的数据类型和格式的详细信息,请参阅 IBM Documentation 中的 NameValueData ( MQCHARn ) 建议您不要包括与安全性相关的属性,例如用户标识或密码。
消息类型 指定已发送的消息的类型。 此属性对应于 MQMD 结构中的 MsgType 。 有以下五个可能的值:
  • 未指定,表示未设置任何值,因此将从 Message exchange pattern 的值获取值。 这是缺省值。
  • 请求,它表示该消息是需要应答的消息。 此值指示服务使用请求/响应消息交换模式。
  • 应答,它表示该消息是对请求的应答。
  • 报告,它表示该消息是报告。
  • 数据报,它表示服务是单向消息交换,将不会有应答。
如果未指定值,那么将根据消息交换模式设置该值。
持久 指定消息是否持久,并且它对应于 MQMD 结构中的 持久性 字段。 可能的值有以下三个:
  • 非持久,它表示消息是非持久消息。
  • 持久,它表示消息是持久消息。
  • 队列缺省值,它表示队列管理器根据消息所置于的目标的定义来确定消息持久性。 这是缺省值。
消息标识 指定与 MQMD 结构中 MsgId 字段相对应的消息标识。

"消息标识" 允许将某些专用 IBM MQ 应用程序描述为服务 (例如: 共享输入队列并根据预定义的 msgId 值选择用于它们的消息的应用程序)。 服务定义中预定义的 msgIds 可能导致问题(例如,在请求/响应消息交换模式返回请求的 msgId 时)。

该消息标识可以是字符串或二进制值。 二进制值必须是多达 24 对双字符十六进制值的字符串。

单击编辑以打开对话框,然后输入某个值作为文本或字节

相关标识 指定与 MQMD 结构中的 CorrelId 字段相对应的相关标识。 该相关标识可以是字符串或二进制值。 二进制值必须是多达 24 对双字符十六进制值的字符串。

单击编辑以打开对话框,然后输入某个值作为文本或字节

到期 指定消息生存期。 它必须是有符号整数,并且以十分之一秒为单位。 到期范围从 1 至 2 147 483 647。

特殊值无限制用于指示消息不会到期。 值 -1 已写入 WSDL 文件。

未指定表示没有将值写入 WSDL 文件。 这是缺省值。

Priority 指定与消息关联的优先级,并对应于 MQMD 结构中的 priority 字段。 它必须指定为介于 0 与 9 之间的整数,其中 0 是最低优先级,9 是最高优先级。

特殊值无限制用于指示从消息所置于的第一个队列的定义获取消息优先级。 值 -1 已写入 WSDL 文件。

未指定表示没有将值写入 WSDL 文件。 这是缺省值。

编码 指定消息数据的数字编码,它与 MQMD 结构中的 Encoding 字段相对应:
  • 整数允许您选择“标准”或“逆序”
  • 十进制允许您选择“标准”或“逆序”
  • 浮点允许您选择“标准”、“逆序”或 S390
  • 助记符基于所选的其他值指定 3 字符助记符。 R = 逆序、N = 标准和 3 = S390。
  • 指定选项和助记符的数字值。
报告选项 指定服务提供者如何设置应答消息或故障消息中的消息和相关标识。 此属性对应于 MQMD 结构中的“报告”字段。 一共有四个可能的值:
  • 新建消息标识指示是否生成报告或应答作为此消息的结果,然后将为报告或应答消息生成新的 msgId
  • 传递消息标识指示是否生成报告或应答作为此消息的结果,然后将此消息的 msgId 复制到报告或应答消息的 msgId
  • 将消息标识复制至相关标识指示是否生成报告或应答作为此消息的结果,然后将此消息的 msgId 复制至报告或应答消息的 correlId
  • 传递相关标识指示,如果作为此消息的结果生成报告或应答,那么会将此消息的 correlId 复制到报告或应答消息的 correlId

“输出目标”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输出目标 页面上设置的属性。 该输出页面定义了服务为响应输入消息而发送的消息的详细信息以及将放置消息的目标。 输出目标名称必须带有“msg/queue/”前缀(对于队列)或“msg/topic/”前缀(对于主题)。

属性 描述
输出目标名称 指定响应消息被发送至的目标队列或目标主题的名称,它对应于 MQMD 结构中的 ReplyToQ 和 ReplyToQMgr 字段。 目标名称必须采用 IBM MQ URI 的 queue-dest 或 topic-dest 部分的格式,例如:

msg/queue/INS.QUOTE.REPLY
目标队列管理器名称 指定目标队列管理器的名称。
连接队列管理器 指定请求服务连接至的队列管理器的名称。 这对应于在 MQCONN() 与 MQCONNX() 调用上使用的 QmgrName 参数。
客户机连接属性 客户机连接属性指定详细的绑定,它们可包括有关服务请求者如何绑定至特定机器或通道的信息。 能够指定客户机绑定和通道名称在某些情况下很有用,但是过度指定服务可能会有限制。 此问题的解决方案是将合并到服务定义中的绑定信息量降至最低,并允许底层基础结构或 IBM MQ 在可能的情况下路由消息。
通道表名 指定用于标识通道连接的客户机通道表文件的名称。
  • 如果未指定 Channel table name,那么将忽略 Channel table library
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Channel table name
通道表库 指定客户机通道表的路径。
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLLIB 环境变量,那么将忽略 Channel table library
  • 如果未指定 Channel table name,那么将忽略 Channel table library
客户机通道名称 指定服务请求者建立 IBM MQ MQI 客户机绑定连接时使用的连接字符串。 对于 TCP/IP,连接采用主机名后跟端口号的格式,例如:

OS2ROG3(1822)
如果未指定端口号,那么将使用缺省值 1414。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Client channel connection name
客户机通道连接名称 指定 IBM MQ 服务请求者建立 IBM MQ MQI 客户机绑定连接时使用的通道。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Client channel name
客户机通道传输类型 指定 IBM MQ 服务请求者建立 IBM MQ MQI 客户机绑定连接时要使用的传输类型。
  • 如果指定 Client channel connection name,那么还必须指定 Client channel nameClient channel transport type
  • 如果在客户机应用程序运行所在的环境中设置了 MQSERVER 或 MQCHLTAB 环境变量,那么将忽略 Transport type
一共有两个不同的可选值:
  • TCP. 用于指定 TCP/IP 传输协议。 这是缺省值。
  • LU62. 用于指定 LU6.2 传输协议。

“输出消息模式”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输出消息模式 页面上设置的属性。 它们允许您定义消息有效内容的模式。

属性 描述
出站数据类型 指定期望的出站数据类型
导入模式文件 指定要导入的模式文件
导入名称空间 指定要导入的名称空间

“输出消息头”页面

下表列出了您可以在 " 服务定义属性 " 对话框的 输出消息头 页面上设置的属性。 该输出页面定义了服务为响应输入消息而发送的消息的详细信息以及将放置消息的目标。 某些属性仅适用于 MQ 绑定类型的服务定义。

属性 描述
CCSID 指定与 MQMD 结构中 CodedCharSetId 字段相对应的编码字符集标识。 如果未指定此值,那么服务请求者和服务提供者将使用与消息数据的字符集相对应的值。
格式 指定消息数据的格式名称。 此属性对应于 MQRFH2 格式字段,或者对应于 MQMD 格式字段(如果 MQRFH2 不存在)。 该值必须是长度介于 0 与 8 个字符(由 A-Z 和 0-9 字符组成)之间的字符串。

根据 格式字段中的准则,可以将 格式 设置为任何值。

用户属性 指定 IBM MQ 服务消息中携带的用户定义的数据。 必须采用允许用于 RFH2 文件夹元素的格式来指定值;采用通过与 XML 类似的语法编码的一系列三元组来指定值,例如:

<name dt="datatype">value</name>
dt="datatype" 元素是可选的,并且如果省略,那么将被视为字符串,允许将元素指定为:

<name>value</name>
例如:

<myprop1>value1</myProp1><myprop2>value2</myProp2><myprop3 dt="i4">99</myProp3>
有关允许的数据类型和格式的详细信息,请参阅 IBM Documentation 中的 NameValueData ( MQCHARn ) 建议您不要包括与安全性相关的属性,例如用户标识或密码。
消息类型 指定已发送的消息的类型。 此属性对应于 MQMD 结构中的 MsgType 。 有以下五个可能的值:
  • 未指定,表示未设置任何值,因此将从 Message exchange pattern 的值获取值。 这是缺省值。
  • 请求,它表示该消息是需要应答的消息。 此值指示服务使用请求/响应消息交换模式。
  • 应答,它表示该消息是对请求的应答。
  • 报告,它表示该消息是报告。
  • 数据报,它表示服务是单向消息交换,将不会有应答。
如果未指定值,那么将根据消息交换模式设置该值。
持久 指定消息是否持久,并且它对应于 MQMD 结构中的 持久性 字段。 可能的值有以下三个:
  • 非持久,它表示消息是非持久消息。
  • 持久,它表示消息是持久消息。
  • 队列缺省值,它表示队列管理器根据消息所置于的目标的定义来确定消息持久性。 这是缺省值。
消息标识 指定与 MQMD 结构中 MsgId 字段相对应的消息标识。

"消息标识" 允许将某些专用 IBM MQ 应用程序描述为服务 (例如: 共享输入队列并根据预定义的 msgId 值选择用于它们的消息的应用程序)。 服务定义中预定义的 msgIds 可能导致问题(例如,在请求/响应消息交换模式返回请求的 msgId 时)。

该消息标识可以是字符串或二进制值。 二进制值必须是多达 24 对双字符十六进制值的字符串。

单击编辑以打开对话框,然后输入某个值作为文本或字节

相关标识 指定与 MQMD 结构中的 CorrelId 字段相对应的相关标识。 该相关标识可以是字符串或二进制值。 二进制值必须是多达 24 对双字符十六进制值的字符串。

单击编辑以打开对话框,然后输入某个值作为文本或字节

到期 指定消息生存期。 它必须是有符号整数,并且以十分之一秒为单位。 到期范围从 1 至 2 147 483 647。

特殊值无限制用于指示消息不会到期。 值 -1 已写入 WSDL 文件。

未指定表示没有将值写入 WSDL 文件。 这是缺省值。

Priority 指定与消息相关联的优先级,它对应于 MQMD 结构中的 priority 字段。 它必须指定为介于 0 与 9 之间的整数,其中 0 是最低优先级,9 是最高优先级。

特殊值无限制用于指示从消息所置于的第一个队列的定义获取消息优先级。 值 -1 已写入 WSDL 文件。

未指定表示没有将值写入 WSDL 文件。 这是缺省值。

编码 指定消息数据的数字编码,它与 MQMD 结构中的 Encoding 字段相对应:
  • 整数允许您选择“标准”或“逆序”
  • 十进制允许您选择“标准”或“逆序”
  • 浮点允许您选择“标准”、“逆序”或 S390
  • 助记符基于所选的其他值指定 3 字符助记符。 R = 逆序、N = 标准和 3 = S390。
  • 指定选项和助记符的数字值。
报告选项 指定服务提供者如何设置应答消息或故障消息中的消息和相关标识。 此属性对应于 MQMD 结构中的“报告”字段。 一共有四个可能的值:
  • 新建消息标识指示是否生成报告或应答作为此消息的结果,将为报告或应答消息生成新的 msgId
  • 传递消息标识指示是否生成报告或应答作为此消息的结果,然后将此消息的 msgId 复制到报告或应答消息的 msgId
  • 将消息标识复制至相关标识指示是否生成报告或应答作为此消息的结果,然后将此消息的 msgId 复制至报告或应答消息的 correlId
  • 传递相关标识指示,如果作为此消息的结果生成报告或应答,那么会将此消息的 correlId 复制到报告或应答消息的 correlId