CORREÇÃO: o processamento de mensagens EDI de XML para ficheiro simples falha quando contém um nó vazio num 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 está a utilizar o Electronic Data Interchange (EDI) no Microsoft BizTalk Server. Quando processa a mensagem EDI da Linguagem XML (Extensible Markup Language) para um ficheiro simples no pipeline de envio do EDI, poderá reparar que o processo falha se a mensagem contiver um nó vazio num sub-ciclo. Por exemplo, o nó é indicado como <ns0:DTM_SubLoop/> em vez de <ns0:DTM_SubLoop></ns0:DTM_SubLoop>.

Além disso, poderá receber uma mensagem de erro semelhante à seguinte:

Nota

  • Nome do Registo: Aplicação
  • Origem: BizTalk Server
    Data: Data/Hora
    ID do Evento: 5743
    Categoria da Tarefa: BizTalk Server
    Nível:
    Palavras-chave de Aviso:
    Utilizador Clássico: N/D
    Computador: ComputerName
    Descrição: o adaptador não conseguiu transmitir a mensagem que vai enviar a porta "SendPort1" com o URL "FilePath\FileName". 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 ao nível do segmento)
    SegmentID: AMT
    Posição no TS: 36 2:
    Segmento inesperado ".
    Event Xml: <Event xmlns="FilePath\FileName">  
    <Sistema>    
    <Nome do Fornecedor="BizTalk Server" />    
    <Qualificadores de EventID="32960">5743</EventID>    
    <Nível>3</Nível>    
  • <Tarefa>1</Tarefa>
    < >Palavras-chave 0x80000000000000</Palavras-chave>
    <TimeCreated SystemTime="Data/Hora" />    
    <EventRecordID>1159013</EventRecordID>    
    <Canal Aplicação></Canal>    
    <Computer>ComputerName</Computer>    
    <Segurança/>  
    </Sistema>  
    <EventData>    
    <Dados>SendPort1</Dados>    
    < Dados<>/Dados>    
    <Dados>Não é possível ler o fluxo produzido pelo pipeline.
     Detalhes: Erro: 1 (Erro ao nível do segmento) SegmentID: Posição AMT no TS: 36 2: Segmento< inesperado /Dados></EventData></Evento>

Resolução

Este problema foi corrigido nas seguintes atualizações cumulativas para BizTalk Server:

Atualização Cumulativa 7 para BizTalk Server 2013 R2

Atualização Cumulativa 3 para BizTalk Server 2016

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

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

2555976 Service pack e lista de atualizações cumulativas para BizTalk Server

Para obter mais informações sobre BizTalk Server correções, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

2003907 Informações sobre correções do BizTalk e suporte do Service Pack