CORRECTIF : le traitement des messages EDI du fichier XML au fichier plat échoue quand il contient un nœud vide dans une sous-boucle dans BizTalk Server

S’applique à
BizTalk Server 2016 Branch BizTalk Server 2016 Developer BizTalk Server 2016 Enterprise BizTalk Server 2016 Standard BizTalk Server 2013 R2 Branch BizTalk Server 2013 R2 Developer BizTalk Server 2013 R2 Enterprise BizTalk Server 2013 R2 Standard

Symptômes

Supposons que vous utilisez l’échange de données électronique (EDI) dans Microsoft BizTalk Server. Lorsque vous traitez le message EDI du xml (Extensible Markup Language) vers un fichier plat dans le pipeline d’envoi EDI, vous pouvez remarquer que le processus échoue si le message contient un nœud vide dans une sous-boucle. Par exemple, le nœud est désigné sous la forme <ns0 :DTM_SubLoop/> au lieu de <ns0 :DTM_SubLoop></ns0 :DTM_SubLoop>.

En outre, vous pouvez recevoir un message d’erreur semblable au suivant :

Remarque

  • Nom du journal : Application
  • Source : BizTalk Server
    Date : date/heure
    ID d’événement : 5743
    Catégorie de tâche : BizTalk Server
    Niveau :
    Mots clés d’avertissement :
    Utilisateur classique : N/A
    Ordinateur : ComputerName
    Description : L’adaptateur n’a pas pu transmettre le message qui va envoyer le port « SendPort1 » avec l’URL « FilePath\FileName ». Il sera retransmis après l’intervalle de nouvelle tentative spécifié pour ce port d’envoi. Détails : « Impossible de lire le flux produit par le pipeline.
  • Détails : Erreur : 1 (erreur au niveau du segment)
    SegmentID : AMT
    Position dans TS : 36 2 :
    Segment inattendu .
    Xml d’événement : <Event xmlns="FilePath\FileName »>  
    <Système>    
    <Nom du fournisseur="BizTalk Server » />    
    <EventID Qualifiers="32960">5743</EventID>    
    <Niveau>3</Niveau>    
  • <Tâche>1</Tâche>
    <Mots clés>0x80000000000000</Mots clés>
    <TimeCreated SystemTime="Date/Time » />    
    <EventRecordID>1159013</EventRecordID>    
    <Application</canal de canal>>    
    <Computer>ComputerName</Computer>    
    <Sécurité/>  
    </Système>  
    <EventData>    
    <Data>SendPort1</Data>    
    < Données/Données de< données>>    
    <Données>impossible de lire le flux produit par le pipeline.
     Détails : Erreur : 1 (Erreur au niveau du segment) SegmentID : Position AMT dans TS : 36 2 : Segment< inattendu /Data></EventData></Event>

Résolution

Ce problème est résolu dans les mises à jour cumulatives suivantes pour BizTalk Server :

Mise à jour cumulative 7 pour BizTalk Server 2013 R2

Mise à jour cumulative 3 pour BizTalk Server 2016

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

Pour plus d’informations sur les Service Packs et la liste des mises à jour cumulatives pour BizTalk Server, cliquez sur le numéro ci-dessous pour afficher l’article dans la Base de connaissances Microsoft :

2555976 Service Pack et liste des mises à jour cumulatives pour BizTalk Server

Pour plus d’informations sur BizTalk Server correctifs logiciels, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :

2003907 Informations sur les correctifs logiciels BizTalk et la prise en charge du Service Pack