Partager via


MQSCorrelationSetOrchestrationWithSolicitResponse (exemple BizTalk Server)

L’exemple MQSCorrelationSetOrchestrationWithSolicitResponse montre comment utiliser un identificateur de corrélation produit par le serveur MQSeries au lieu de BizTalk Server.

Fonctions de l'exemple

L’orchestration envoie un message avec une valeur vide pour la propriété MQMD_MsgID dans l’en-tête du message. MQSeries génère l’ID de message et l’ID de corrélation et retourne un message avec une valeur affectée à MQMD_MsgID et MQMD_CorrelId dans le cadre de la réponse dans le port d’envoi de sollicitation-réponse de l’adaptateur. L’orchestration utilise l’identificateur de corrélation généré pour initialiser le jeu de corrélations et suit le jeu de corrélations dans un emplacement de réception suivant en vérifiant la propriété MQMD_CorrelId du message. L’adaptateur affecte également l’identificateur de corrélation à BizTalk_CorrelationID, que vous pouvez également utiliser dans une orchestration. Pour plus d’informations sur l’utilisation d’identificateurs de corrélation avec l’adaptateur, consultez Corrélation des messages à l’aide d’une requête-réponse.

Important

Les orchestrations utilisant cette technique peuvent rencontrer des problèmes si le message du serveur MQSeries arrive avant l'identificateur de corrélation. Veillez à définir vos orchestrations de façon à laisser un délai suffisant au serveur MQSeries pour le renvoi de l'identificateur de corrélation. L'exemple ne tient pas compte de cette condition d'engorgement possible.

Accès à l'exemple

<Exemples path>\AdaptersUsage\MQSeriesAdapter\MQSCorrelationSetOrchestrationWithSolicitResponse

Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.

File Description
MQSCorrelationSolicitResponse.btproj,

MQSCorrelationSolicitResponse.sln
Fichiers de projet et de solution de l'application.
MQSCorrelationSolicitResponse.odx Fichier d'orchestration BizTalk de l'application.
MQSCorrelationSolicitResponse.snk Fichier de clé de nom fort.
Setup.bat Crée et initialise l'exemple.

Comment utiliser cet exemple

Pour créer l'application, procédez comme suit :

  • Créez deux files d'attente MQSeries.

  • Configurez un BizTalk Server l’emplacement de réception et le port d’envoi.

  • Activez l'emplacement de réception

  • démarrez le port d'envoi.

  • Créez les dossiers appropriés.

  • Modifiez l'orchestration.

  • Déployez, liez et démarrez l'orchestration.

    Si vous disposez des autorisations nécessaires à l'installation du serveur MQSeries pour Windows, vous pouvez créer les files d'attente MQSeries à l'aide des boîtes de dialogue de l'adaptateur et ignorer la procédure suivante. Sinon, vous pouvez créer les files d'attente à l'aide d'IBM WebSphere MQ Explorer. Pour créer les files d’attente via le Explorer WebSphere MQ, effectuez les étapes suivantes.

Création des files d'attente MQSeries à l'aide de WebSphere MQ Explorer

Pour créer les files d'attente MQSeries à l'aide de WebSphere MQ Explorer

  1. Cliquez sur Démarrer, pointez sur Tous les programmes, sur IBM WebSphere MQ, puis cliquez sur WebSphere MQ Explorer.

  2. Double-cliquez sur Gestionnaires de files d’attente, puis double-cliquez sur le gestionnaire de files d’attente par défaut. Le gestionnaire de files d’attente par défaut est généralement nommé QM_<machine_name>machine_name correspond au nom de votre ordinateur.

  3. Cliquez avec le bouton droit sur Files d’attente, pointez sur Nouveau, puis cliquez sur File d’attente locale.

  4. Dans la boîte de dialogue Créer une file d’attente locale , dans Nom de la file d’attente, tapez « REPLYTOQ », puis cliquez sur OK.

  5. Cliquez avec le bouton droit sur Files d’attente, cliquez sur Nouveau, puis sur File d’attente locale.

  6. Dans la boîte de dialogue Créer une file d’attente locale , dans Nom de la file d’attente, tapez « SOLICITRESPONSEQ », puis cliquez sur OK.

Création de l'emplacement de réception et de la file d'attente MQSeries

Cette procédure permet de créer le port d'envoi et l'emplacement de réception pour envoyer le message à MQSeries et recevoir le message de corrélation de MQSeries. Le cas échéant, la file d'attente MQSeries est également créée lorsque vous créez l'emplacement de réception.

Pour créer l’emplacement de réception et la file d’attente MQSeries

  1. Ouvrez la console Administration BizTalk Server.

  2. Développez BizTalk Server Administration, BizTalk Group, Applications, puis l’application requise.

  3. Cliquez avec le bouton droit sur Ports de réception, pointez sur Nouveau, puis cliquez sur Port de réception unidirectionnel.

  4. Dans la boîte de dialogue Propriétés du port de réception unidirectionnel , dans la zone Nom , tapez « MQReply », puis cliquez sur OK.

  5. Dans le volet gauche, cliquez sur l’onglet Emplacements de réception , puis sur Nouveau.

  6. Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la zone Nom , tapez « MQReply ».

  7. Dans la zone Type de transport , sélectionnez MQSeries.

  8. Dans la zone Gestionnaire de réception , sélectionnez BizTalkServerApplication.

  9. Dans la zone Pipeline de réception , sélectionnez Microsoft.BizTalk.DefaultPipelines.PassThruReceive.

  10. Cliquez sur Configurer.

  11. Dans la boîte de dialogue Propriétés du transport MQSeries , dans la zone Intervalle d’interrogation , tapez « 10 ».

  12. Dans la zone Définition de la file d’attente , cliquez sur le bouton points de suspension (...) .

  13. Dans la boîte de dialogue Définition de la file d’attente , dans la zone Nom du serveur , tapez le nom de votre ordinateur.

  14. Dans la zone Gestionnaire de files d’attente , sélectionnez le gestionnaire de files d’attente par défaut.

  15. Dans la zone File d’attente , tapez « REPLYTOQ », puis cliquez sur Exporter.

  16. Dans la boîte de dialogue Exporter , cliquez sur Créer une file d’attente, puis surOKou Terminé jusqu’à ce que vous ayez quitté toutes les boîtes de dialogue.

Création du port d'envoi et de la file d'attente MQSeries

Pour créer le port d'envoi et la file d'attente MQSeries

  1. Cliquez avec le bouton droit sur Ports d’envoi, pointez sur Nouveau, puis cliquez sur Port d’envoi unidirectionnel statique.

  2. Dans la boîte de dialogue Propriétés du port d’envoi, dans la zone Nom , tapez « MQSolicitResponse ».

  3. Dans la zone Type de transport , sélectionnez MQSeries.

  4. Dans la zone Envoyer le pipeline , sélectionnez Microsoft.BizTalk.DefaultPipelines.PassThruTransmit.

  5. Dans la zone Pipeline de réception , sélectionnez Microsoft.BizTalk.DefaultPipelines.PassThruReceive.

  6. Cliquez sur Configurer.

  7. Dans la boîte de dialogue Propriétés du transport MQSeries , dans la zone Définition de file d’attente , cliquez sur le bouton de sélection (...) .

  8. Dans la boîte de dialogue Définition de la file d’attente , dans la zone Nom du serveur , tapez le nom de votre ordinateur.

  9. Dans la zone Gestionnaire de files d’attente , sélectionnez le gestionnaire de files d’attente par défaut.

  10. Dans la zone File d’attente , tapez « SOLICITRESPONSEQ », puis cliquez sur Exporter.

  11. Dans la boîte de dialogue Exporter, cliquez sur Créer une file d’attente, puis sur OK ou Terminé jusqu’à ce que vous ayez quitté toutes les boîtes de dialogue.

Activation de l’emplacement de réception et démarrage du port d’envoi

Cette procédure permet de créer les dossiers requis pour recevoir le fichier dans l'orchestration et envoyer le message corrélé et le message de réponse vers les dossiers de sortie.

Activation de l'emplacement de réception et démarrage du port d'envoi

  1. Dans la console Administration BizTalk Server, cliquez sur Ports de réception.

  2. Dans le volet d’informations, cliquez avec le bouton droit sur l’emplacement de réception MQIn , puis cliquez sur Activer.

  3. Dans le volet d’informations, cliquez avec le bouton droit sur le port d’envoi MQOut , puis cliquez sur Démarrer.

Création des dossiers utilisés par l'application

Pour créer les dossiers utilisés par l'application

  1. Créez un dossier nommé « temp » sur votre disque C:\, le cas échéant.

  2. Créez des dossiers sous le répertoire C :\temp nommé « Pickup2 », « Dropit2 » et « MoveIt ».

Modification de l'orchestration utilisée par l'application

Cette procédure permet de modifier l'orchestration utilisée par l'application.

Pour modifier l’orchestration utilisée par l’application :

  1. Dans Microsoft Visual Studio, double-cliquez sur le fichier de solution , MQSCorrelationSolicitResponse.sln, pour ouvrir la solution.

  2. Dans le volet Explorateur de solutions, double-cliquez sur l’orchestration MQSCorrelationSolicitResponse.odx pour afficher l’orchestration.

  3. Double-cliquez sur la forme d’affectation de message MessageAssignment_1 pour lancer l’éditeur d’expression BizTalk.

  4. Entrez le nom de gestionnaire de file d'attente MQSeries approprié pour l'expression suivante :

    MQSeriesRequestSendMessage(MQSeries.MQMD_ReplyToQMgr) = "QM_<machine_name>";

  5. Si vous souhaitez que le message de réponse envoyé par BizTalk inclue le contenu intégral du message d'origine au lieu des 100 premiers octets, modifiez la ligne suivante dans l'Éditeur d'expression BizTalk.

    • Ligne d'origine :

      MQSeriesRequestSendMessage(MQSeries.MQMD_Report) = 768;

    • Remplacez par :

      MQSeriesRequestSendMessage(MQSeries.MQMD_Report) = 1792;

  6. Dans l’Éditeur d’expressions BizTalk, cliquez sur OK pour enregistrer l’expression modifiée.

  7. Dans Visual Studio, sélectionnez Fichier, puis Enregistrer tout.

Génération et déploiement de l’exemple

Cette procédure permet de créer et de déployer la solution contenant l'orchestration utilisée dans cette application.

Pour créer et déployer l'exemple

  1. Dans une fenêtre de commande, accédez au dossier suivant :

    <Samples Path>\AdaptersUsage\MQSeriesAdapter\MQSCorrelationSetOrchestrationWithSolicitResponse

  2. Exécutez le fichier Setup.bat, qui effectue les actions suivantes :

    1. création d'une clé de nom fort pour le projet ;

    2. compilation et déploiement du projet d'orchestration.

    3. création d'un port d'envoi et d'un port de réception avec l'adaptateur FILE.

    Notes

    Cette orchestration spécifie les liaisons pour l'envoi et la réception de fichiers avec l'adaptateur FILE. Aussi, lorsque vous déployez l'orchestration, les ports d'envoi, le port de réception et l'emplacement de réception requis sont créés pour la réception d'un fichier dans l'orchestration et la génération du message de corrélation et du message de réponse.

Liaison et démarrage de l'orchestration

Cette procédure permet de lier l'orchestration à l'hôte, ainsi qu'aux ports d'envoi et emplacements de réception appropriés.

Pour lier et démarrer l'orchestration

  1. Dans la console Administration BizTalk Server, développez le dossier Orchestrations.

  2. Dans le volet d’informations, cliquez avec le bouton droit sur l’orchestration MQSCorrelationSolicitResponse , puis cliquez sur Lier.

  3. Liez les ports d'orchestration aux ports d'envoi et aux emplacements de réception suivants :

    Port d'orchestration Port de messagerie/Emplacement de réception
    FileReceivePort MQSCorrelationSolicitResponse.Orchestration.FileReceivePort
    MQSeriesResponseReceivePort MQReply
    SolicitResponsePort MQSolicitResponse
    TempPort MQSCorrelationSolicitResponse.Orchestration.TempPort
    FileSendPort MQSCorrelationSolicitResponse.Orchestration.FileSendPort
  4. Cliquez sur Hôte.

  5. Dans la zone Hôte , sélectionnez BizTalkServerApplication , puis cliquez sur OK.

  6. Dans Ports d’envoi, cliquez avec le bouton droit sur MQSCorrelationSolicitResponse.Orchestration.TempPort, puis sélectionnez Démarrer.

  7. Dans Ports d’envoi, cliquez avec le bouton droit sur MQSCorrelationSolicitResponse.Orchestration.FileSendPort, puis sélectionnez Démarrer.

  8. Dans Emplacements de réception, cliquez avec le bouton droit sur MQSCorrelationSolicitResponse.Orchestration.FileReceivePort, puis sélectionnez Activer.

  9. Cliquez avec le bouton droit sur l’orchestration, puis cliquez sur Démarrer.

    Notes

    Le démarrage de l'orchestration inscrit l'orchestration automatiquement.

Test de l’application

Cette procédure permet de tester l'application.

Pour tester l'application

  1. Placez un fichier dans le dossier C :\Temp\Pickup2 .

  2. Examinez les fichiers du dossier C :\Temp\Dropit2 et du dossier C :\Temp\Moveit.

    • Le dossier C :\Temp\Dropit2 doit contenir une copie du message qui a été récupéré à l’origine par BizTalk Server.

    • Le dossier C :\Temp\Moveitdoit contenir un document de réponse avec l’identificateur de message (MQMD_MsgId) et l’identificateur de corrélation (MQMD_CorrelId).

    Notes

    Si vous désactivez l’emplacement de réception MQReply, vous pouvez examiner le message dans WebSphere MQ Explorer et voir que les identificateurs de message et de corrélation sont définis. Pour ce faire, lancez le Explorer WebSphere MQ et examinez le message placé dans la file d’attente REPLYTOQ. Les identificateurs de message et de corrélation s’affichent sous l’onglet Identificateurs de la boîte de dialogue Messagepropriétés .

Voir aussi

Corrélation de messages dans un scénario de requête-réponse
Exemples d’adaptateurs MQSeries