MQSeries 上下文属性

MQSeries 适配器提供了一组特定于 MQSeries 的上下文属性以供您在应用程序中使用。 您可以在筛选表达式和业务流程中使用这些属性。

对于以绑定到 MQSeries 适配器的发送端口为目标的消息,若要将 MQSeries 上下文属性分配给此类消息,请使用消息赋值运算符,并在 MQSeries 命名空间中指定可用的上下文属性之一。

下面是设置 MQSeries MQMD_UserIdentifier 属性的示例:

Message_2(MQSeries.MQMD_UserIdentifier) = "MeMyselfAndI";  

必须从 IBM MQSeries SDK 所附带的 C 编程语言头文件中获得枚举值。 在 Program Files\IBM\WebSphere MQ\Tools\c\include 文件夹中可找到这些文件。 这些文件定义了在设置或读取 MQSeries 上下文属性值时要使用的值。

十六进制字符串值是表示二进制值的字符串。 这些值不具有诸如 0x 之类的前缀。 它们包含从 0 到 9 的数字,以及从“a”到“f”或“A”到“F”的字母。 适配器将忽略它们之间的空格。

有关这些属性的详细信息,请参阅 IBM WebSphere MQ 文档。

下表显示了可用的消息描述符(MQMD 结构)属性的完整集以及其对应的类型和值:

名称 类型 Length
MQMD_AccountingToken 字符串 64 十六进制字符串
MQMD_ApplIdentityData 字符串 32 十六进制字符串
MQMD_ApplOriginData 字符串 4 字符串

默认值: 空格
MQMD_BackoutCount unsigned int 4 Number

只读

默认值: 0
MQMD_CodedCharSetId unsigned int 4 Number

默认值: 0
MQMD_CorrelId 字符串 48 十六进制字符串
MQMD_Encoding unsigned int 4 Number

使用头文件值。 默认值: 0
MQMD_Expiry unsigned int 4 Number
MQMD_Feedback unsigned int 4 Number

使用头文件值。 默认值: 0
MQMD_Format 字符串 8 字符串

如果此属性设置为 MQXMIT,则应确保 MQXQH 属性具有相应值。
MQMD_GroupID 字符串 48 十六进制字符串
MQMD_MsgFlags unsigned int 4 Number

使用头文件值。 默认值: 0
MQMD_MsgId 字符串 48 十六进制字符串
MQMD_MsgSeqNumber unsigned int 4
MQMD_MsgType unsigned int 4 Number

使用头文件值。
MQMD_Offset unsigned int 4
MQMD_OriginalLength unsigned int 4
MQMD_Persistence unsigned int 4 Number

使用头文件值。
MQMD_Priority unsigned int 4 Number
MQMD_PutApplName 字符串 28 字符串

默认值: 空格
MQMD_PutApplType unsigned int 4 Number

使用头文件值。 默认值: 0
MQMD_PutDate 字符串 8 日期
MQMD_PutTime 字符串 8 时间
MQMD_ReplyToQ 字符串 48 字符串

默认值: 空格
MQMD_ReplyToQMgr 字符串 48 字符串

默认值: 空格
MQMD_Report unsigned int 4 Number

使用头文件值。
MQMD_UserIdentifier 字符串 12 字符串

包含使用 SSOAffiliateApplication 属性时的用户标识符。

在直接从 MQSeries 传输队列中接收消息时,MQSeries 适配器将设置该传输队列标头属性(MQXQH 数据结构)的格式,并将其放置在其对应的上下文属性中。 将消息直接发送到 MQSeries 传输队列时,仅当 MQMD_Format 属性的值为 MQXMIT 时,标头属性才会格式化并从相应的上下文属性分配值。 下表描述了这些属性。

名称 类型 Length
MQXQH_RemoteQMgrName 字符串 48 字符串
MQXQH_RemoteQName 字符串 48 字符串

与本主题前面部分列出的属性一样,该适配器将按照相同的规则填充以下消息描述符值。 该适配器使用 MQXQH_ 而不是 MQMD_ 作为这些属性名的前缀,否则这些属性将直接映射到在消息描述符表中定义的那些属性:

  • MQXQH_MsgDesc_AccountingToken

  • MQXQH_MsgDesc_ApplIdentityData

  • MQXQH_MsgDesc_ApplOriginData

  • MQXQH_MsgDesc_BackoutCount

  • MQXQH_MsgDesc_CodedCharSetId

  • MQXQH_MsgDesc_CorrelId

  • MQXQH_MsgDesc_Encoding

  • MQXQH_MsgDesc_Expiry

  • MQXQH_MsgDesc_Feedback

  • MQXQH_MsgDesc_Format

  • MQXQH_MsgDesc_MsgId

  • MQXQH_MsgDesc_MsgType

  • MQXQH_MsgDesc_Persistence

  • MQXQH_MsgDesc_Priority

  • MQXQH_MsgDesc_PutApplName

  • MQXQH_MsgDesc_PutApplType

  • MQXQH_MsgDesc_PutDate

  • MQXQH_MsgDesc_PutTime

  • MQXQH_MsgDesc_ReplyToQ

  • MQXQH_MsgDesc_ReplyToQMgr

  • MQXQH_MsgDesc_Report

  • MQXQH_MsgDesc_UserIdentifier

    属性架构中还包含与 MQSeries 相关的其他属性,这些属性可在筛选表达式中使用。 下表列出了这些属性:

名称 类型 Length
MQCIH_AbendCode 字符串 4
MQCIH_ADSDescriptor unsigned int 4
MQCIH_AttentionId 字符串 4
MQCIH_Authenticator 字符串 8 使用 SSOAffiliateApplication 属性时,将 设置为 SSO 密码。 注意: 如果 SSO 密码长度超过 8 个字符,MQSeries 适配器会将此值设置为空白。
MQCIH_CancelCode 字符串 4
MQCIH_CompCode unsigned int 4
MQCIH_ConversationalTask unsigned int 4
MQCIH_CursorPosition unsigned int 4
MQCIH_ErrorOffset unsigned int 4
MQCIH_Facility 字符串 16 十六进制字符串
MQCIH_FacilityKeepTime unsigned int 4
MQCIH_FacilityLike 字符串 4
MQCIH_Flags unsigned int 4
MQCIH_Format 字符串
MQCIH_Function 字符串 4
MQCIH_GetWaitInterval unsigned int 4
MQCIH_LinkType unsigned int 4
MQCIH_NextTransactionId 字符串 4
MQCIH_OutputDataLength unsigned int 4
MQCIH_Reason unsigned int 4
MQCIH_ReplyToFormat 字符串
MQCIH_ReturnCode unsigned int 4
MQCIH_StartCode 字符串 4
MQCIH_TaskEndStatus unsigned int 4
MQCIH_TransactionId 字符串 4
MQCIH_UOWControl unsigned int 4
MQIIH_Authenticator 字符串 8 使用 SSOAffiliateApplication 属性时,将 设置为 SSO 密码。 注意: 如果 SSO 密码长度超过 8 个字符,MQSeries 适配器会将此值设置为空白。
MQIIH_CommitMode 字符串
MQIIH_Flags unsigned int 4
MQIIH_Format 字符串
MQIIH_LTermOverride 字符串 8
MQIIH_MFSMapName 字符串 8
MQIIH_ReplyToFormat 字符串
MQIIH_SecurityScope 字符串
MQIIH_TranInstanceId 字符串 32 十六进制字符串
MQIIH_TranState 字符串

另请参阅

MQSeries 适配器属性
与 BizTalk Server 相关的属性
属性的数据类型转换