Désassembler les lots entrants
Debatch inbound message
Le désassembleur SWIFT est en mesure d’inbound debatching dans lequel il traite ou désassemble les lots entrants (fichiers ou messages contenant plusieurs messages SWIFT). Vous activez le débat entrant à l’aide de la propriété de configuration du désassembleur SWIFT du même nom. Une fois que vous avez activé le débat entrant, le désassembleur SWIFT s’attend à ce que tous les messages qu’il reçoit soient des lots qui incluent plusieurs messages SWIFT. Un lot peut inclure ou non une enveloppe de lot (un en-tête de lot et une bande-annonce de lot), et chaque message SWIFT individuel au sein d’un lot peut inclure ou non une enveloppe de message (un en-tête de message et une bande-annonce de message). Vous pouvez configurer ces attributs de lot (formats) à l’aide des propriétés de configuration du désassembleur SWIFT suivantes :
Schéma d’en-tête Batch
Schéma de la bande-annonce Batch
Schéma d’en-tête de message
Schéma de la bande-annonce de message
Notes
La définition de l’une de ces propriétés sur « None » indique que le lot entrant n’inclut pas cette partie particulière.
Le désassembleur SWIFT s’attend à ce que tous les lots entrants aient la structure suivante :
En-tête Batch
En-tête de message
Échange/message SWIFT (blocs SWIFT de 1 à 5)
Bande-annonce du message
Bande-annonce Batch
Dans cette structure, vous pouvez considérer qu’un « bloc de messages » est le composant En-tête de message – Échange SWIFT – Bande-annonce de message . Une série de plusieurs « blocs de messages » constitue les multiples messages SWIFT d’un lot. L’en-tête de lot, l’en-tête de message, la bande-annonce du message et la bande-annonce de lot sont facultatifs, mais doivent être cohérents entre les répétitions.
Notes
Ne confondez pas l’enveloppe du message (en-tête de message et bande-annonce du message) avec les blocs d’en-tête et de bande-annonce SWIFT. Dans le contexte des lots, vous devez afficher le message SWIFT (échange), y compris les blocs d’en-tête et de bande-annonce SWIFT, en tant qu’unité holistique (atomique). Dans ce contexte, l’en-tête de message et la bande-annonce du message font référence à l’enveloppe qui encapsule chaque message SWIFT dans un lot.
Pour exprimer cette structure, ses options et sa répétabilité de manière plus formelle, réfléchissez à la façon dont A4SWIFT définit un lot :
L’en-tête de lot est représenté par BH
L’en-tête de message est représenté par MH
SWIFT Interchange est représenté par SI
Message Trailer est représenté par MT
Batch Trailer est représenté par BT.
L’expression qui représente la structure de lot attendue est la suivante :
[BH] ([MH] SI [MT])* [BT]
Les crochets (
[ ]
) indiquent que la partie est facultative. L’astérisque (*) indique que le bloc est reproductible. Quiconque génère le lot de messages doit utiliser l’en-tête de message (MH) et la bande-annonce (MT) de manière cohérente dans chaque répétition de ([MH] SI [MT]
).Le désassembleur SWIFT est en mesure de traiter n’importe quel lot entrant qui obéit à la structure ci-dessus, car chaque partie de la structure est conforme à un schéma de fichier plat. Toutefois, si vous n’utilisez pas l’en-tête/bande-annonce de lot facultatif et l’en-tête de message/bande-annonce, le message ne sera pas conforme à ces schémas. Par conséquent, un lot contenant uniquement des messages SWIFT consécutifs aura les propriétés Schéma d’en-tête de lot, Schéma de bande-annonce par lot, Schéma d’en-tête de message et Schéma de la bande-annonce de message définie sur « None ».
Personnaliser des schémas pour le traitement par lots
Vous pouvez personnaliser les schémas pour l’en-tête/bande-annonce de lot et l’en-tête de message/bande-annonce. Par exemple, le lot suivant :
4
SWIFT Message # 1
$
SWIFT Message # 2
$
SWIFT Message # 3
$
SWIFT Message # 4
$
Pour gérer ce type de lot, vous devez définir les propriétés de schéma pour le lot comme suit :
Vous définissez la propriété Schéma d’en-tête de lot sur un schéma de fichier plat qui analyse un nombre unique (nombre de messages) délimité par retour chariot.
Vous définissez le schéma de bande-annonce de message sur un schéma de fichier plat qui analyse un symbole $ unique et un retour chariot.
Vous définissez les schémas d’enveloppe restants (schéma de bande-annonce batch et schéma d’en-tête de message) sur Aucun.
Vous pouvez configurer le désassembleur SWIFT de sorte qu’il traite à peu près n’importe quel lot de messages SWIFT en créant et en spécifiant la combinaison appropriée de schémas d’enveloppe de fichier plat. Cette fonctionnalité est très flexible.
Le désassembleur SWIFT tente toujours de terminer le traitement d’un lot entier, même s’il rencontre des erreurs en cours de route. Cela lui permet de collecter et de signaler autant d’erreurs que possible à la fois. Pour effectuer cette heuristique du meilleur effort, le désassembleur SWIFT doit prendre certaines décisions et hypothèses lors de la sélection du schéma à utiliser lors de la rencontre d’une nouvelle pièce, ou si une erreur d’analyse se produit. La sélection du schéma correct n’est pas toujours possible en fonction de la nature et de l’emplacement d’une erreur d’analyse, ainsi que de l’ambiguïté/similitude entre les schémas d’enveloppe et les schémas d’échange SWIFT. Dans certains cas, vous pouvez réduire la possibilité de sélectionner le schéma incorrect à l’aide de schémas d’enveloppe bien conçus. Si le désassembleur rencontre une erreur d’analyse irrécupérable ou si le désassembleur ne peut pas déterminer le schéma correct, le désassembleur échoue le lot sans traiter les données restantes.
Lorsque le débatching entrant est activé (défini sur True), le désassembleur SWIFT analyse le lot à l’aide des schémas spécifiés pour l’enveloppe de lot (schéma d’en-tête de lot et schéma de la bande-annonce de lot) et l’enveloppe du message (schéma d’en-tête de message et schéma de bande-annonce de message), ainsi que le schéma spécifié pour l’analyse des messages SWIFT (échanges) dans le lot. Pour les messages SWIFT du lot, le type de message et le schéma peuvent être découverts et chargés dynamiquement de la même façon que les messages non-batch uniques (en spécifiant un schéma d’en-tête SWIFT). Pour plus d’informations sur la façon dont le désassembleur SWIFT effectue la résolution de schéma, consultez Découverte de type de message dynamique et résolution de schéma.
Le désassembleur SWIFT analyse et valide individuellement chaque message SWIFT dans un lot entrant. Il effectue la séquence de traitement par lots suivante :
Analyse l’en-tête de lot si vous avez spécifié le schéma d’en-tête de lot.
Analyse l’en-tête d’enveloppe de message si vous avez spécifié le schéma d’en-tête de message.
Analyse l’échange SWIFT (message).
Valide le message SWIFT par rapport aux contraintes XML si vous avez activé la validation XML.
Valide le message SWIFT par rapport aux stratégies BRE (règles de réseau et d’utilisation SWIFT) si vous avez activé la validation BRE.
Analyse la bande-annonce de l’enveloppe de message si le schéma de bande-annonce de message est spécifié.
Répète les étapes 2 à 6 jusqu’à ce que le désassembleur ne trouve plus de messages dans le lot.
Analyse la bande-annonce de lot si vous avez spécifié le schéma de la bande-annonce par lot.
Vous pouvez configurer le désassembleur SWIFT pour effectuer différentes opérations avec les données de lot qu’il analyse et valide à l’aide des propriétés de configuration du désassembleur SWIFT suivantes :
La propriété Fragmentation détermine si le désassembleur SWIFT doit publier individuellement chaque message du lot dans la base de données MessageBox (c’est-à-dire, pour chaque message, après chaque occurrence de l’étape 6 ci-dessus), ou s’il doit terminer toutes les étapes 1 à 8, puis publier l’intégralité du lot, sous forme native (copie exacte de l’entrée). en tant que message unique pour la base de données MessageBox. Vous définissez Fragmentation sur True pour activer la fragmentation et publier des messages à partir d’un lot individuellement. Vous définissez Fragmentation sur False pour désactiver la fragmentation et publier l’intégralité du lot, sous forme native, en tant que message unique uniquement après le traitement du lot entier. En règle générale, définissez Fragmentation sur Désactivépour les scénarios où vous avez uniquement besoin de l’accélérateur BizTalk pour SWIFT (A4SWIFT) pour analyser et valider les lots entrants et que vous avez échoué, ou transféré, sous la même forme que celle qui A4SWIFT les a reçus. Vous définissez généralement Fragmentation sur Activé pour les scénarios dans lesquels vous souhaitez A4SWIFT transformer ou modifier des messages au sein d’un lot après l’analyse et la validation, ou lorsque vous souhaitez A4SWIFT trier les messages dans un lot dans un ordre différent de celui dans lequel A4SWIFT les a reçus à l’origine. Vous définissez également Fragmentation sur Activé pour les scénarios dans lesquels un lot entrant contient des messages ayant des destinations finales différentes.
La propriété Preserve Batch Header/Preserve Batch Trailer détermine si le désassembleur SWIFT doit ignorer ou conserver les données de l’enveloppe de lot (en-tête et bande-annonce) après l’avoir analysée. Si vous définissez Conserver l’en-tête de lot ou Conserver la bande-annonce de lot sur True, le désassembleur publie la partie de lot correspondante (XML analysé) dans la base de données MessageBox en tant que messages individuels. Le désassembleur publie les données dans la partie corps du message en plusieurs parties. Le désassembleur promeut des propriétés de contexte spéciales afin que BizTalk Server puissent mettre en corrélation ces messages avec le lot dont ils proviennent et la position ordinale dans le lot (première position pour l’en-tête de lot, dernière position pour la remorque de lot). Si vous définissez Conserver l’en-tête de lot ou Conserver la bande-annonce de lot sur False, le désassembleur ignore la partie de lot correspondante (données analysées) après l’analyse.
Notes
Ces propriétés de configuration sont valides uniquement lorsque la fragmentation est activée (Fragmentation définie sur True). Lorsque la fragmentation est désactivée, le désassembleur publie une copie exacte du lot entier, sous forme native, dans la base de données MessageBox, de sorte que les paramètres de préservation ne sont pas pertinents (tout est conservé).
La propriété Preserve Message Header / Preserve Message Trailer détermine si le désassembleur SWIFT doit ignorer ou conserver les enveloppes de message (en-têtes de message et bandes-annonces) après les avoir analysées. Si vous définissez Conserver l’en-tête de message ou Conserver la bande-annonce du message sur True, le désassembleur publie la partie de lot correspondante (XML analysé) dans la base de données MessageBox , ainsi que le message SWIFT individuel qu’il encapsule. Le désassembleur publie les en-têtes d’enveloppe de message dans la partie d’en-tête du message en plusieurs parties. Le désassembleur publie des bandes-annonces d’enveloppe de message dans la partie remorque du message en plusieurs parties. Le désassembleur publie le message SWIFT contenu dans l’enveloppe du message dans la partie du corps du même message en plusieurs parties. Le désassembleur promeut des propriétés de contexte spéciales afin que BizTalk Server puissent mettre en corrélation ces messages avec le lot dont ils proviennent et la position ordinale dans le lot. Si vous définissez Conserver l’en-tête de message ou Conserver la bande-annonce du message sur False, le désassembleur ignore la partie de lot correspondante (données analysées) après l’analyse.
Notes
Ces propriétés de configuration sont valides uniquement lorsque la fragmentation est activée (Fragmentation définie sur True). Lorsque la fragmentation est désactivée, le désassembleur publie une copie exacte du lot entier, sous forme native, dans la base de données MessageBox, de sorte que les paramètres de préservation ne sont pas pertinents (tout est conservé).
Pour plus d’informations sur chaque propriété de configuration, ainsi que d’autres informations d’utilisation et de configuration, consultez Propriétés de configuration du désassembleur SWIFT. Pour plus d’informations sur la publication de base de données MessageBox et les messages en plusieurs parties, consultez l’aide BizTalk Server.