CORRECCIÓN: El procesamiento de mensajes EDI de XML a archivo plano falla cuando contiene un nodo vacío en un sub loop en BizTalk Server

Se aplica a
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

Síntomas

Suponga que está usando el intercambio electrónico de datos (EDI) en Microsoft BizTalk Server. Al procesar el mensaje EDI desde el Lenguaje de marcado extensible (XML) a un archivo plano en la canalización de envío EDI, es posible que observe que el proceso produce errores si el mensaje contiene un nodo vacío en un sub loop. Por ejemplo, el nodo se denomina <ns0:DTM_SubLoop/> en lugar de <ns0:DTM_SubLoop></ns0:DTM_SubLoop>.

Además, puede recibir un mensaje de error similar al siguiente:

Nota

  • Nombre de registro: Aplicación
  • Fuente: BizTalk Server
    Fecha: fecha y hora
    Id. de evento: 5743
    Categoría de tarea: BizTalk Server
    Nivel:
    Palabras clave de advertencia:
    Usuario clásico: N/D
    Equipo: NombreEquipo
    Descripción: El adaptador no pudo transmitir el mensaje que va a enviar el puerto "SendPort1" con la dirección URL "FilePath\FileName". Se retransmitirá después del intervalo de reintento especificado para este puerto de envío. Detalles:"No se puede leer la transmisión producida por la canalización.
  • Detalles: Error: 1 (error de nivel de segmento)
    Id. de segmento: AMT
    Posición en TS: 36 2:
    Segmento inesperado ".
    Event Xml: <Event xmlns="FilePath\FileName">  
    <Sistema>    
    <Provider Name="BizTalk Server" />    
    <EventID Qualifiers="32960">5743</EventID>    
    <Nivel>3</Nivel>    
  • <Tarea>1</Tarea>
    < >Palabras clave 0x80000000000000</Palabras clave>
    <TimeCreated SystemTime="Date/Time" />    
    <EventRecordID>1159013</EventRecordID>    
    <Aplicación< o>canal de canal>    
    <Computer>ComputerName</Computer>    
    <Seguridad />  
    </System>  
    <EventData>    
    <Data>SendPort1</Data>    
    < Datos</>Datos>    
    <Datos>No se puede leer la transmisión producida por la canalización.
     Detalles: Error: 1 (error de nivel de segmento) SegmentID: Posición de AMT en TS: 36 2: Segmento< inesperado /Datos></EventData></Evento>

Resolución

Este problema se ha corregido en las siguientes actualizaciones acumulativas para BizTalk Server:

Actualización acumulativa 7 para BizTalk Server 2013 R2

Actualización acumulativa 3 de BizTalk Server 2016

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Para obtener información sobre los Service Pack y la lista de actualizaciones acumulativas de BizTalk Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2555976 Service Pack y lista de actualizaciones acumulativas de BizTalk Server

Para obtener más información sobre BizTalk Server revisiones, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2003907 información sobre las revisiones de BizTalk y el soporte técnico de Service Pack