POPRAWKA: Przetwarzanie komunikatów EDI z pliku XML do pliku płaskiego kończy się niepowodzeniem, gdy zawiera pusty węzeł w podpętli w programie BizTalk Server

Dotyczy
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

Objawy

Załóżmy, że używasz elektronicznej wymiany danych (EDI, Electronic Data Interchange) w programie Microsoft BizTalk Server. Podczas przetwarzania komunikatu EDI z języka XML (Extensible Markup Language) do pliku prostego w potoku wysyłania EDI można zauważyć, że proces kończy się niepowodzeniem, jeśli komunikat zawiera pusty węzeł w podpętli. Na przykład węzeł jest oznaczony jako <ns0:DTM_SubLoop/> zamiast <ns0:DTM_SubLoop></ns0:DTM_SubLoop>.

Ponadto może zostać wyświetlony komunikat o błędzie podobny do następującego:

Uwaga

  • Nazwa dziennika: Aplikacja
  • Źródło: BizTalk Server
    Data: Data/godzina
    Identyfikator zdarzenia: 5743
    Kategoria zadania: BizTalk Server
    Poziom:
    Słowa kluczowe ostrzeżenia:
    Użytkownik klasyczny: Nie dotyczy
    Komputer: Nazwa_komputera
    Opis: adapter nie mógł przesłać wiadomości zmierzającej do portu "SendPort1" z adresem URL "FilePath\FileName". Zostanie on ponownie przesłany po upływie interwału ponawiania próby określonego dla tego portu wysyłania. Szczegóły:"Nie można odczytać strumienia utworzonego przez potok.
  • Szczegóły: Błąd: 1 (błąd na poziomie segmentu)
    SegmentID: AMT
    Pozycja w TS: 36 2:
    Nieoczekiwany segment ".
    Event XML: <Event xmlns="FilePath\FileName">  
    <Systemowy>    
    <Nazwa dostawcy="BizTalk Server" />    
    <Kwalifikatory identyfikatora zdarzenia="32960">5743</EventID>    
    <Poziom>3</Poziom>    
  • <Zadanie>1</Zadanie>
    <Słowa>kluczowe 0x80000000000000</Słowa kluczowe>
    <TimeCreated SystemTime="Data/Godzina" />    
    <EventRecordID>1159013</EventRecordID>    
    <Aplikacja< kanału>/kanał>    
    <Komputer>nazwa_<komputera/komputer>    
    <Bezpieczeństwo />  
    </System>  
    <EventData (Dane zdarzenia)>    
    <Data>SendPort1</Data>    
    <Dane>Dane</Dane>    
    <Dane>Nie można odczytać strumienia utworzonego przez potok.
     Szczegóły: Błąd: 1 (błąd na poziomie segmentu) SegmentID: AMT Pozycja w TS: 36 2: Nieoczekiwany segment< /Data></EventData></Event>

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu BizTalk Server:

Aktualizacja zbiorcza 7 dla programu BizTalk Server 2013 R2

Zbiorcza aktualizacja 3 dla programu BizTalk Server 2016

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Aby uzyskać informacje dotyczące dodatków Service Pack i listy aktualizacji zbiorczych dla programu BizTalk Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2555976 Lista dodatków Service Pack i aktualizacji zbiorczych dla BizTalk Server

Aby uzyskać więcej informacji dotyczących poprawek programu BizTalk Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2003907 Informacje o poprawkach BizTalk i pomocy technicznej dotyczącej dodatków Service Pack