CORREÇÃO: O processamento de mensagens EDI de XML para arquivo simples falha quando contém um nó vazio em um sub-loop no BizTalk Server

Aplica-se 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

Sintomas

Suponha que você esteja usando o EDI (intercâmbio eletrônico de dados) no Microsoft BizTalk Server. Ao processar a mensagem EDI do XML (Extensible Markup Language) para um arquivo simples no pipeline de envio EDI, você pode observar que o processo falha se a mensagem contiver um nó vazio em um sub-loop. Por exemplo, o nó é indicado como <ns0:DTM_SubLoop/> em vez de <ns0:DTM_SubLoop></ns0:DTM_SubLoop>.

Além disso, a seguinte mensagem de erro semelhante à seguinte pode ser exibida:

Observação

  • Nome do Log: Aplicativo
  • Fonte: BizTalk Server
    Data: Data/Hora
    ID do evento: 5743
    Categoria da tarefa: BizTalk Server
    Nível:
    Palavras-chave de aviso:
    Usuário clássico: N/D
    Computador: ComputerName
    Descrição: o adaptador falhou ao transmitir a mensagem indo para a porta de envio "SendPort1" com a URL "FilePath\FileName". Ele será retransmitido após o intervalo de repetição especificado para esta porta de envio. Detalhes: "Não é possível ler o fluxo produzido pelo pipeline.
  • Detalhes: Erro: 1 (erro no nível do segmento)
    SegmentID: AMT
    Posição em TS: 36 2:
    Segmento inesperado ".
    XML do evento: <Event xmlns="FilePath\FileName">  
    <Sistema>    
    <Nome do provedor="BizTalk Server" />    
    <EventID qualifiers="32960">5743</EventID>    
    <Nível>3</Nível>    
  • <Tarefa>1</Tarefa>
    <Palavras-chave>0x80000000000000</Palavras-chave>
    <TimeCreated SystemTime="Data/Hora" />    
    <EventRecordID>1159013</EventRecordID>    
    <Aplicativo</Canal de Canal>>    
    <Computador>Nome do Computador</Computador>    
    <Segurança />  
    </Sistema>  
    <EventData>    
    <Data>SendPort1</Data>    
    < Dados<>/Dados>    
    <Não>é possível ler o fluxo produzido pelo pipeline.
     Detalhes: Erro: 1 (erro no nível do segmento) SegmentID: AMT Posição em TS: 36 2: segmento< inesperado /Data></EventData></Event>

Resolução

Esse problema é corrigido nas seguintes atualizações cumulativas do BizTalk Server:

Atualização cumulativa 7 para o BizTalk Server 2013 R2

Atualização cumulativa 3 para o BizTalk Server 2016

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Para obter informações sobre os service packs e a lista de atualizações cumulativas do BizTalk Server, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2555976 Lista de atualizações cumulativas e service packs para BizTalk Server

Para obter mais informações sobre os hotfixes do BizTalk Server, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2003907 Informações sobre hotfixes do BizTalk e suporte a service packs