Condividi tramite


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.

BTS_Dev_MQSimpleCorrelation di correlazione semplice

È 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.

Uso di Solicit-Response per generare correlationID

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)