Korrelieren von Nachrichten über Anforderung-Antwort
Es gibt zwei Möglichkeiten, Nachrichten in BizTalk-Orchestrierungen für IBM WebSphere MQ (Serverkomponente für Anforderung-Antwort-Szenarios für Windows-Plattformen) zu korrelieren. Die erste besteht darin, den Korrelationsbezeichner anzugeben, indem sowohl MessageID (MQMD_MSGID) als auch CorrelationID (MQMD_CorrelId) auf den gleichen Wert festgelegt werden. Die zweite besteht darin, die BizTalk_CorrelationId-Kontexteigenschaft zu verwenden.
Festlegen von „MQMD_MsgId“ und „MQMD_CorrelId“ auf denselben Wert
Beim Senden der Nachricht an einen IBM WebSphere MQ-Warteschlangen-Manager können Sie den Nachrichtenbezeichner (MQMD_MSGID) und den Korrelationsbezeichner (MQMD_CorrelId) auf den gleichen Wert in der ausgehenden Nachricht festlegen. Der IBM WebSphere MQ-Warteschlangen-Manager kopiert die Nachrichten-ID in den Korrelationsbezeichner für die Antwortnachricht. In der folgenden Abbildung wird der Prozess veranschaulicht.
Sie können die Korrelationssätze für die ausgehende Nachricht initialisieren und den Korrelationssätzen für die eingehende Nachricht mithilfe des Werts von MQMD_CorrelId folgen.
Verwenden der MQSeries.BizTalk_CorrelationId-Kontexteigenschaft
Anstatt MessageID und CorrelationID in der ausgehenden Nachricht auf denselben Wert festzulegen, können Sie die BizTalk_CorrelationID-Kontexteigenschaft mit einem Solicit-Response-Sendeport des MQSeries-Adapters verwenden. In der folgenden Abbildung wird dieser Vorgang gezeigt.
Möchten Sie für Korrelationen in einer BizTalk-Orchestrierung eine ID bzw. einen Bezeichner verwenden, der von IBM WebSphere MQ Server bereitgestellt wird, muss BizTalk Server diesen Bezeichner zunächst abrufen. Ihre Anwendung erledigt dies über eine Anforderung vom Typ „Antwort anfragen“. BizTalk Server sendet über den MQSeries-Adapter eine Anforderung vom Typ „Antwort anfragen“ an den IBM WebSphere MQ-Server. Im Gegenzug empfängt er eine Antwort mit dem Nachrichtenbezeichner (MQMD_MSGId) und dem Korrelationsbezeichner (MQMD_CorrelId).
Für die ausgehende Nachricht in einem Solicit-Response-Sendeport kopiert der Adapter die von IBM WebSphere MQ Server generierte MQMD_MSGID in die MQSeries.BizTalk_CorrelationId Kontexteigenschaft.
Beim Empfangen von Nachrichten kopiert der Adapter die MQMD_CorrelId in die MQSeries.BizTalk_CorrelationId. In diesem Fall können Sie mithilfe von Korrelationssätzen die Korrelationssätze für die ausgehende Nachricht initialisieren und den Korrelationssätzen für die eingehende Nachricht mithilfe des MQSeries.BizTalk_CorrelationId folgen.
Weitere Informationen
MQSCorrelationSetOrchestrationWithSolicitResponse (BizTalk Server-Beispiel)