Partager via


Exemple DynamicReceive (exemple BizTalk Server)

L’exemple DynamicReceive montre comment recevoir BizTalk Server messages d’une file d’attente MQSeries lorsque l’URI de la file d’attente MQSeries est spécifié dynamiquement.

Fonctions de l'exemple

Cet exemple crée dynamiquement une file d’attente MQSeries comme spécifié par les variables queueManager, file d’attente et serveur . Il active un scénario de réception dynamique et obtient BizTalk Server messages de la file d’attente MQSeries spécifiée dynamiquement en fonction des critères de filtre spécifiés dans les propriétés MQMD_MsgId et MQMD_CorrelId message.

Conception et finalité de cet exemple

L'adaptateur MQSeries peut recevoir de façon dynamique les messages d'une file d'attente MQSeries en spécifiant l'adresse URI de la file d'attente dans l'orchestration. Cette fonctionnalité est activée via l'utilisation d'un port d'envoi de sollicitation-réponse.

Pour recevoir dynamiquement des messages, spécifiez les éléments suivants dans une forme Expression dans l’orchestration :

  1. Activer la réception dynamique en définissant la propriété suivante sur le message BizTalk Server : MQSeries.DynamicReceive = 'Yes'

  2. Spécifiez l'adresse à laquelle récupérer les messages en définissant l'URI du port. Vous pouvez également spécifier les éléments suivants :

    • Spécifiez l’intervalle d’attente avant d’obtenir les messages à l’aide de la propriété MQSeries.WaitInterval sur le message.

    • Spécifier les critères de correspondance pour la réception des messages. Les options de critères de correspondance sont ID de message, CorrelationID, GroupID et MessageSequenceNumber. Pour plus d’informations, consultez « Propriétés associées à https://go.microsoft.com/fwlink/?LinkId=89396 BizTalk Server ».

    Une fois le message créé avec ces propriétés, il est envoyé à la file d'attente MQSeries via le port d'envoi de sollicitation-réponse. Le port indique l'adaptateur à utiliser pour la réception des messages provenant de l'URI spécifié avec les options de correspondance définies. Il en résulte les actions suivantes :

  • Si les critères de filtre permettant de récupérer un message sont atteints, le message est extrait de la file d'attente et renvoyé à l'orchestration.

  • Si les critères de filtre permettant de récupérer un message ne sont pas atteints, une réponse factice est renvoyée. Cela indique que les options spécifiées n'ont renvoyé aucun message de la file d'attente.

    L'utilisation de la fonctionnalité de réponse dynamique offre davantage de souplesse car aucun emplacement de réception fixe n'est requis. Il peut arriver que vous ne connaissiez l'URI qu'au moment de l'exécution. La fonctionnalité de réception dynamique permet de déterminer de façon dynamique l'emplacement à partir duquel récupérer des messages. Cela signifie également qu'il n'est pas nécessaire d'implémenter un accord de mise en file d'attente au sein de l'orchestration. Vous pouvez attendre de recevoir les messages à l'aide d'un URI spécifié de façon dynamique depuis la file d'attente MQSeries sur la base des critères de correspondance définis.

Accès à l'exemple

<Chemin d’accès> des exemples\Samples\AdaptersUsage\MQSeriesAdapter\DynamicReceive

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

Fichier Description
DynamicReceive.btproj,

DynamicReceive.sln
Fichiers de projet et de solution de l'application.
DynamicReceive e.odx Fichier d'orchestration BizTalk de l'application.
Setup.bat Fichier de commandes permettant de créer le fichier de clé, puis de compiler et déployer le projet.

Comment utiliser cet exemple

Spécifiez l’adresse Microsoft.XLANGs.BaseTypes.Address qui convient à votre solution. Modifiez MQSeries.WaitInterval pour spécifier quand vous prévoyez de recevoir les messages de réponse. Mettez à jour (ou ajoutez) les options de correspondance, ou supprimez-les si vous envisagez d’obtenir tous les messages.

Génération et exécution de l’exemple

Pour créer l'exemple

  1. Créez un projet d’orchestration dans Microsoft Visual Studio.

  2. Activez l’opération de réception dynamique en définissant la propriété MQSeries.DynamicReceive sur le message BizTalk Server sur 'Yes'.

  3. Spécifiez l’adresse à partir de laquelle obtenir les messages en définissant l’URI de port.

  4. Les deux propriétés suivantes peuvent également être définies :

    1. Spécifiez un intervalle d’attente avant d’obtenir les messages à l’aide de la propriété MQSeries.WaitInterval sur le message.

    2. Spécifier les critères de correspondance pour la réception des messages. Pour plus d'informations, consultez la rubrique « Options de correspondance » de l'Aide.

  5. Modifiez les variables suivantes dans l'orchestration pour spécifier l'emplacement de récupération des messages :

    • File d’attente, queueManager et serveur. Ils sont utilisés pour générer l’URI dans la forme Expression .
  6. Modifiez la forme Expression pour commenter la création de file d’attente dynamique et les options de correspondance si nécessaire.

  7. Vous pouvez créer et déployer le projet de l'une des manières suivantes :

    • Ouvrez la solution, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis cliquez sur Propriétés pour afficher les propriétés du projet. Sous l’onglet Signature, cliquez sur <Nouveau...> dans la zone de liste déroulante Choisir un fichier de clé de nom fort . Renseignez le nom du fichier de clé, puis déployez le projet.

    • Vous pouvez également exécuter le fichier setup.bat pour créer le fichier de clé, puis créer et déployer le projet.

Exécution de l'exemple

  1. Liez l'orchestration à l'hôte BizTalk.

  2. Activez le port de réception du fichier créé par l'orchestration. Remplacez l’emplacement de réception du fichier de c :\temp\in par le dossier de fichier approprié.

  3. Inscrivez et démarrez les deux ports d'envoi créés. L'un est un port dynamique de sollicitation-réponse, l'autre est à la fois un port d'envoi FILE et la file d'attente à laquelle le message sera envoyé. Assurez-vous que cet emplacement est défini correctement.

  4. Pour démarrer l'orchestration, placez un fichier dans le dossier d'entrée. Cela appelle l’adaptateur MQSeries et appelle le composant COM+ MQSAgent2 sur le serveur spécifié pour obtenir le message. Le message reçu apparaît dans le dossier spécifié dans le port d'envoi FILE.

  5. Si aucun message ne correspond aux critères spécifiés dans la forme Expression , un message factice est déposé dans le dossier de sortie. Pour désactiver les options de correspondance, commentez les deux dernières lignes de la forme Expression .

Commentaires

  • Si la file d'attente créée de façon dynamique n'est pas supprimée, des erreurs seront générées lors de l'activation de l'instance d'orchestration suivante.

  • Il y a d'autres manières de définir l'URI de façon dynamique ; cet exemple ne couvre qu'une seule option. Par exemple, l'URI peut être défini via la lecture de propriétés dans le contexte du message.

  • Si aucun message dans la file d'attente ne répond aux critères de correspondance, un message factice est renvoyé.

  • Comme cet exemple utilise les ports d'envoi dynamiques, il peut être nécessaire de spécifier d'autres options, telles que Réessayer et Transactions. Utilisez les propriétés de contexte exposées par l'adaptateur pour définir ces options avant d'envoyer le message au port dynamique de sollicitation-réponse.

  • Les files d’attente MQSeries peuvent être créées et supprimées dynamiquement à l’aide de l’interface MQSAdapterAdmin2 . Pour obtenir un exemple de création dynamique de files d’attente MQSeries, consultez « Prise en charge de la gestion des files d’attente » à l’adresse https://go.microsoft.com/fwlink/?LinkId=89400.