使用“请求-答复”关联消息

可通过两种方法使 IBM WebSphere MQ 的 BizTalk 业务流程中的消息相关,IBM WebSphere MQ 是 Windows 平台请求-答复方案的服务器组件。 第一种方法是通过将 MessageID (MQMD_MSGID ) 和 CorrelationID (MQMD_CorrelId) 设置为同一值来提供相关标识符。 第二种是使用 BizTalk_CorrelationId 上下文属性。

将 MQMD_MsgId 和 MQMD_CorrelId 设置为相同值

将消息发送到 IBM WebSphere MQ 队列管理器时,可以将消息标识符 (MQMD_MSGID) 和关联标识符 (MQMD_CorrelId) 设置为传出消息中的相同值。 IBM WebSphere MQ 队列管理器会将消息 ID 复制到答复消息的相关 ID。 下图显示了该过程。

简单关联

可以初始化传出消息的相关集,并使用 值 MQMD_CorrelId 遵循传入消息的相关集。

使用 MQSeries.BizTalk_CorrelationId 上下文属性

可以将 BizTalk_CorrelationID 上下文属性与 MQSeries 适配器的请求响应发送端口一起使用,而不是将 MessageID 和 CorrelationID 设置为传出消息中的相同值。 下图显示了这个过程。

使用 Solicit-Response 生成 CorrelationID

若要将 IBM WebSphere MQ 服务器提供的标识符用于 BizTalk 业务流程中的相关,则 BizTalk Server 必须先获得该标识符。 应用程序可通过要求-响应请求来执行此操作。 通过使用 MQSeries 适配器,BizTalk Server 可向 IBM WebSphere MQ 服务器发送要求-响应请求。 作为回报,它接收一个响应,其中包含消息标识符 (MQMD_MSGId) ,相关标识符 (MQMD_CorrelId) 。

对于请求-响应发送端口中的传出消息,适配器将 IBM WebSphere MQ Server 生成的 MQMD_MSGID 复制到 MQSeries.BizTalk_CorrelationId 上下文属性。

接收消息时,适配器会将 MQMD_CorrelId 复制到 MQSeries.BizTalk_CorrelationId。 在这种情况下,使用关联集,可以初始化传出消息的相关集,并使用 MQSeries.BizTalk_CorrelationId跟踪传入消息的相关集。

另请参阅

MQSCorrelationSetOrchestrationWithSolicitResponse(BizTalk Server 示例)