Correlazione di messaggi mediante richiesta-risposta
Sono disponibili due modi per correlare messaggi nelle orchestrazioni BizTalk per IBM WebSphere MQ, componente server per gli scenari di richiesta-risposta su piattaforma Windows. Il primo consiste nell'fornire l'identificatore di correlazione impostando sia MessageID (MQMD_MSGID) che CorrelationID (MQMD_CorrelId) sullo stesso valore. Il secondo consiste nell'usare la proprietà di contesto BizTalk_CorrelationId .
Impostazione di MQMD_MsgId e MQMD_CorrelId sullo stesso valore
Quando si invia il messaggio a un gestore code IBM WebSphere MQ, è possibile impostare l'identificatore del messaggio (MQMD_MSGID) e l'identificatore di correlazione (MQMD_CorrelId) sullo stesso valore nel messaggio in uscita. Il gestore code IBM WebSphere MQ copia il MessageID sul CorrelationID del messaggio di risposta. Questo processo è illustrato nella figura seguente.
È possibile inizializzare i set di correlazione per il messaggio in uscita e seguire i set di correlazione per il messaggio in arrivo usando il valore di MQMD_CorrelId.
Utilizzo della proprietà di contesto MQSeries.BizTalk_CorrelationId
Anziché impostare MessageID e CorrelationID sullo stesso valore nel messaggio in uscita, è possibile usare la proprietà di contesto BizTalk_CorrelationID con una porta di trasmissione solicit-response dell'adapter MQSeries. La figura seguente illustra questo processo.
Per utilizzare gli identificatori forniti dal server IBM WebSphere MQ per le correlazioni nell'orchestrazione BizTalk, è innanzitutto necessario che BizTalk Server ottenga l'identificatore. A tale scopo, l'applicazione utilizza una richiesta di sollecitazione-risposta. BizTalk Server invia tale richiesta al server IBM WebSphere MQ mediante l'adapter MQSeries In cambio, riceve una risposta con l'identificatore del messaggio (MQMD_MSGId) e l'identificatore di correlazione (MQMD_CorrelId).
Per il messaggio in uscita in una porta di trasmissione solicit-response, l'adattatore copia il MQMD_MSGID generato da IBM WebSphere MQ Server nella proprietà di contesto MQSeries.BizTalk_CorrelationId .
Quando si ricevono messaggi, l'adattatore copia il MQMD_CorrelId nel MQSeries.BizTalk_CorrelationId. In questo caso, usando i set di correlazioni, è possibile inizializzare i set di correlazioni per il messaggio in uscita e seguire i set di correlazione per il messaggio in arrivo usando il MQSeries.BizTalk_CorrelationId.
Vedere anche
MQSCorrelationSetOrchestrationWithSolicitResponse (esempio di BizTalk Server)