Partager via


Utilisation des abonnements aux échecs de messages

Lorsque le désassembleur Microsoft BizTalk Accelerator pour SWIFT (A4SWIFT) traite (analyse et valide) un message, il promeut les propriétés de ce message. Ces propriétés promues fournissent des informations sur l’exactitude et la validité du message, ainsi que des informations relatives au lot si A4SWIFT reçu le message dans le cadre d’un lot entrant. Pour obtenir la liste complète de ces propriétés, consultez A4SWIFT_* Propriétés promues.

Contrairement aux désassembleurs BizTalk natifs, le désassembleur A4SWIFT ne suspend pas un message lorsque le traitement génère des erreurs ou des échecs. Au lieu de cela, il publie le message ayant échoué dans la base de données MessageBox comme il le ferait un message valide. Par conséquent, les messages ayant échoué peuvent contenir les détails de l’erreur dans la base de données MessageBox. Vous pouvez récupérer le message à partir de la base de données MessageBox, gérer et réparer le message, et même renvoyer le message dans la base de données MessageBox. Vous ne pouvez pas effectuer la plupart de ces tâches si le message a été réellement suspendu.

Vous pouvez identifier un message que A4SWIFT a publié dans la base de données MessageBox comme ayant échoué ou erroné par ses propriétés promues. Lors du traitement d’un message ayant échoué, le désassembleur SWIFT remplit et promeut la propriété A4SWIFT_Failed , ainsi qu’une ou plusieurs des autres propriétés suivantes, avant de publier le message dans la base de données MessageBox :

  • A4SWIFT_ParseErrors indique le nombre d’erreurs d’analyse (telles que des données incorrectes) rencontrées pendant le traitement.

  • A4SWIFT_XmlValidationErrors indique le nombre d’erreurs de validation XML (telles que des données non valides ou un type incorrect par rapport au schéma) rencontrées pendant le traitement.

  • A4SWIFT_BreValidationErrors indique le nombre d’erreurs de validation du moteur de règle d’entreprise (BRE) (telles que les données qui cassent une règle de réseau SWIFT) rencontrées pendant le traitement.

  • A4SWIFT_Failed a la valeur true lorsque le nombre de propriétés ci-dessus est supérieur à zéro, ou false lorsque le nombre est égal à zéro.

    Ces propriétés font toutes partie de Microsoft . Espace de noms Solutions.A4SWIFT.Property. Pour plus d’informations sur ces propriétés et d’autres propriétés promues, consultez propriétés promues A4SWIFT_* .

    Pour intercepter ou récupérer les messages ayant échoué, vous devez créer des expressions de filtre (abonnements) pour les ports d’envoi ou les formes de réception d’orchestration qui incluent certaines des propriétés répertoriées ci-dessus, en tant que clauses AND de l’expression.

    Par exemple, pour vous abonner à tous les messages ayant échoué, vous ajoutez la clause suivante (en tant que clause AND s’il existe d’autres clauses) :

    Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true

    Pour vous abonner à des messages avec uniquement des échecs d’analyse, vous ajoutez les clauses suivantes :

    ET Microsoft. Solutions.A4SWIFT.Property.A4SWIFT_Failed == true,AND Microsoft . Solutions.A4SWIFT.Property.A4SWIFT_XmlValidationErrors == 0,ANDMicrosoft . Solutions.A4SWIFT.Property.A4SWIFT_BreValidationErrors == 0 ;

    À l’inverse, pour les ports d’envoi ou les orchestrations conçus pour gérer uniquement les messages valides, incluez « ANDMicrosoft . Solutions.A4SWIFT.Property.A4SWIFT_Failed == false » en tant que clause dans leurs expressions de filtre.

Notes

Si les abonnements se chevauchent, A4SWIFT remplira tous les abonnements. Autrement dit, si plusieurs services (port d’envoi ou orchestration) ont des expressions de filtre remplies par un message particulier, tous ces services recevront le même message. Par exemple, si un port d’envoi s’abonne à tous les messages ayant échoué et qu’une orchestration s’abonne uniquement aux messages présentant des échecs d’analyse, les deux abonnements sont satisfaits lorsque A4SWIFT rencontre des erreurs d’analyse lors du traitement d’un message. Veillez à éliminer les chevauchements indésirables dans les abonnements entre les services.

Notes

Si A4SWIFT reçoit et traite un message et publie ce message dans la base de données MessageBox, mais que le message ne répond à aucun abonnement, A4SWIFT suspend le message avec une erreur de BizTalk Server indiquant un manque d’abonnés. Par exemple, si vous avez un service qui s’abonne à tous les messages « A4SWIFT_Failed == false », mais qu’aucun service ne s’abonne aux messages où « A4SWIFT_Failed == true », les messages qui échouent à l’analyse ou à la validation sont en effet suspendus en raison d’un manque d’abonnés. Ce scénario vous permet en fait d’imiter la suspension traditionnelle des messages ayant échoué. Veillez à vous abonner à tous les messages que vous ne souhaitez pas avoir suspendus. Pour plus d’informations sur les abonnements aux bases de données MessageBox, les ports d’envoi, les orchestrations et les expressions de filtre, consultez l’aide BizTalk Server.

Contenu de cette section :