Partager via


Problèmes connus avec le traitement d'envoi EDI

Cette rubrique décrit les problèmes connus relatifs au traitement dans le pipeline d'envoi EDI.

Le point décimal implicite X12 entraîne l'échec de la validation de la longueur

Symptôme

Lorsque le pipeline d'envoi EDI convertit une valeur numérique de base 10 d'un fichier XML intermédiaire au format Nn dans l'échange EDI sortant, la validation de la longueur de l'échange XML échoue.

Cause possible

Lors de la sérialisation d'un échange EDI X12, les pipelines d'envoi EDI convertissent toujours une valeur numérique de base 10 au format Nn avec un point décimal implicite. Par exemple, si le fichier XML intermédiaire contient la valeur 12.34, le pipeline d'envoi EDI convertit cette valeur dans l'échange EDI en 1234 lorsqu'elle est spécifiée comme type numérique N2. La longueur de la valeur numérique de base 10 est supérieure à celle du nombre au format Nn. Si le nombre au format Nn correspond à la longueur maximale, la validation de la longueur de la valeur numérique de base 10 dans le fichier XML intermédiaire peut échouer.

Ce problème concerne uniquement les échanges X12.

Résolution :

Ajoutez la valeur 1 à la valeur de longueur maximale du nombre XML.

Il peut être nécessaire de réinitialiser, d'archiver ou de purger les numéros de contrôle

Lorsqu'un numéro de contrôle atteint la longueur maximale autorisée pour le champ, BizTalk Server génère une erreur et interrompt l'échange. Dans ce cas, vous devez réinitialiser le numéro de contrôle entré dans la boîte de dialogue Propriétés EDI ou Propriétés globales EDI.

Les numéros de contrôle sont enregistrés dans la table dbo.EdiSequenceNumbers de la base de données MessageBox de BizTalk. Vous devez gérer cette table de base de données en purgeant les numéros de contrôle de la table ou en archivant les numéros de contrôle, selon vos besoins.

Vous pouvez également activer la réinitialisation automatique des numéros de contrôle en sélectionnant Réinitialiser la limite inférieure en cas d’expiration dans la boîte de dialogue Propriétés EDI.

Trait de soulignement au lieu d'un point dans le nom d'un élément de données dans un nom de propriété de contexte

Le nom d'un élément de données dans un segment EDI contient un point (par exemple, UNB2.1, qui correspond au champ d'identification du segment d'expéditeur UNB2). Toutefois, lorsque le nom d'un élément de données est inclus comme propriété de contexte EDI (par exemple, dans l'expression de filtre d'un port d'envoi), le point est remplacé par un trait de soulignement. Par exemple, la propriété de contexte de l'élément d'identification de l'expéditeur est « EDI.UNB2_1 » et non « EDI.UNB2.1 ». En effet, le point n'est pas pris en charge dans le nom d'une propriété de contexte.

Dans les expressions de filtre, les valeurs de propriété de contexte des éléments de données ne doivent pas contenir d'espace de début ou de fin

Si un élément de données dans l'enveloppe d'un échange EDI contient un espace de début ou de fin, et qu'un pipeline de réception promeut une propriété de contexte avec la valeur de cet élément, le pipeline de réception supprime les espaces de début ou de fin de la propriété de contexte. Ainsi, si vous créez une expression de filtre avec cette propriété de contexte, vous devez entrer la valeur de la propriété sans espace de début ou de fin. Si l'expression de filtre comporte des espaces de début ou de fin, elle ne peut pas être rapprochée de la propriété de contexte, qui ne contient pas d'espace de début ou de fin.

Les propriétés Tiers en tant que récepteur d'échanges par défaut pour un échange préservé provoquent l'échec du pipeline d'envoi

Si BizTalk Server reçoit un échange par lot qui doit être préservé (l'échange étant suspendu en cas d'erreur), le pipeline d'envoi qui s'abonne à l'échange échoue si les propriétés du tiers en tant que récepteur d'échanges sont définies sur leurs valeurs par défaut. Ces propriétés (telles que ISA5, Qualificateur de l'expéditeur et ISA6, Identificateur de l'expéditeur) doivent être définies sur des valeurs valides. BizTalk Server génère une erreur indiquant que le message n'a pas été sérialisé en raison d'une configuration du tiers non valide. Ce traitement est incorrect car un échange préservé inclut les paramètres de configuration requis (Qualificateur de l'expéditeur et Identificateur de l'expéditeur) dans ses en-têtes.

La notation décimale dans un message est modifiée si le tiers côté envoi ou le paramètre global spécifie une autre notation décimale

Si la notation décimale utilisée dans un échange diffère de la notation décimale spécifiée par la propriété de tiers UNA3 pour les messages sortants, BizTalk Server modifie la notation décimale utilisée dans l'enveloppe de l'échange lorsqu'il sérialise celle-ci pour l'expédition. Il en va de même si la propriété globale UNA3 est utilisée à la place de la propriété de tiers UNA3. Par exemple, si la notation décimale utilisée dans un message entrant est un point, et que la propriété de tiers UNA3 ou la propriété globale UNA3 qui détermine la notation décimale d'un message sortant spécifie une virgule, BizTalk Server modifie la notation décimale dans le message sortant en utilisant une virgule.

Les pipelines d'envoi EDI ne peuvent pas être exécutés dans une orchestration

Dans BizTalk Server, vous pouvez normalement exécuter des pipelines d’envoi dans une forme Expression dans une orchestration. Toutefois, ceci ne fonctionne pas avec le pipeline EDISend ou le pipeline AS2EdiSend. Ces pipelines doivent être exécutés dans un port d'envoi. Si vous tentez d'exécuter le pipeline EDISend ou le pipeline AS2EdiSend dans une forme Expression au sein d'une orchestration, le pipeline n'est pas lié à un port d'envoi et le message est suspendu.

L'application EDI BizTalk ne doit pas être modifiée

Les artefacts de l'application EDI BizTalk ne doivent pas être modifiés ou supprimés. Si cette application est modifiée, vous ne pouvez pas revenir à l'application d'origine en annulant la configuration et en reconfigurant les fonctionnalités EDI et AS2.

L'utilisation de la ligne par défaut dans la grille d'en-tête de groupe fonctionnel peut provoquer une incompatibilité des types de messages entre les en-têtes de l'échange et du groupe

Si la valeur de UNH2.1 d'un échange EDIFACT sortant ne correspond pas à la valeur de « Pour le type de message UNH2.1 » dans la grille de la page Définition des segments UNG et UNH, il se peut que la valeur de UNG1 entrée dans le message ne corresponde pas à la valeur de UNH2.1.

Cela peut se produire car BizTalk renseigne le message avec les valeurs de UNG1 dans la ligne par défaut de la grille, même si le message n'a pas de correspondance avec l'élément UNH2.1 de cette ligne.

Si la valeur de ST1 d'un échange X12 sortant ne correspond pas à la valeur de « Pour ST1 » dans la grille de la page Définition des segments GS et ST, la valeur de GS1 entrée dans le message est déterminée de façon dynamique en fonction de la valeur de ST1.

Caractère non valide dans un élément de données

Symptôme

Lors de l'envoi d'un échange EDI via le pipeline d'envoi EDI, une erreur indiquant la présence d'un caractère non valide dans l'élément de données peut être générée dans le journal des événements d'applications.

Cause possible

Cette erreur peut survenir si un caractère contenu dans les données de charge est également utilisé comme séparateur. Par instance, si vous utilisez le caractère « : » comme séparateur de composant, mais que les données de charge utile contiennent également le caractère « : ».

Ce problème concerne uniquement les échanges X12.

Résolution :

Utilisez le paramètre Remplacer les séparateurs dans la charge utile avec dans la page Définition de segment ISA des propriétés de partie EDI pour spécifier que les caractères de séparateur trouvés dans les données de charge utile doivent être remplacés par le caractère de remplacement spécifié lors de l’envoi de l’échange.

Par exemple, si vous sélectionnez Remplacer les séparateurs dans la charge utile par et que vous entrez le caractère « | » remplace toute occurrence d’un caractère de séparateur dans les données de charge utile par le caractère « | » lorsque l’échange est envoyé à l’aide du pipeline d’envoi EDI.

Voir aussi

Problèmes connus avec le traitement EDI
Envoi des messages EDI par BizTalk Server
Procédure pas à pas (X12) : envoi d'échanges EDI