Ir para conteúdo
  • Cadastre-se

dev botao

E160 - Arquivo enviado fora da estrutura do arquivo XML de entrada


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2538 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Estou tentando CANCELAR uma NFS-e no município de Cascavel, provedor ISSNet e está retornando esse erro:

<Mensagem>Arquivo enviado fora da estrutura do arquivo XML de entrada.</Mensagem>

<Correcao>Envie um arquivo dentro do schema do arquivo XML de entrada.</Correcao>

Começou isso depois que atualizei os fontes. Debuguei e vi que agora está assinando de uma forma diferente que assinava antes, através do método TDFeSSLXmlSignLibXml2.Assinar() (fonte ACBrDFeXsLibXml2.pas).

Está trocando de lugar as tags <Pedido> e <Signature>, conforme segue o exemplo:

Como era gerado o XML antes:

<p1:CancelarNfseEnvio>
    <Pedido>
        <tc:InfPedidoCancelamento>
        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    </Pedido>
</p1:CancelarNfseEnvio>

Como está sendo gerado agora:

<p1:CancelarNfseEnvio>
    <Pedido>
        <tc:InfPedidoCancelamento>
    </Pedido>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
</p1:CancelarNfseEnvio>

A tag <Signature> está sendo gerada depois que fecha <Pedido>

Alguém poderia dar uma olhada ?

  • Membros Pro
Postado
14 minutos atrás, Henrique_Raitz disse:

Boa tarde @Italo Jurisato Junior, eu atualizei e fiz testes, o problema continua. Acredito que seja algum problema na geração no XML pelo fonte ACBrDFeXsLibXml2, no método Assinar().

Ainda está deixando a tag <Signature> por fora da <Pedido>.

Também estou passando pelo mesmo Problema, na Cidade de Novo Hamburgo - RS - Provedor ISSNet

  • Consultores
Postado

Henrique,

Pelo que andei notando quando o componente é configurado com o libCapicom o grupo <Signature> é acrescentado antes da tag de fechamento </Pedido> que por sinal é a posição correta.

Mas quando o componente é configurado com o libWinCrypt o grupo <Signature> é acrescentado antes da ultima tag do XML, ou seja, tag de fechamento </CancelarNfseEnvio>, ficando desta forma incorreto.

Analisando os fontes notei que a rotina Assinar do libCapicom leva em consideração o conteúdo de um parâmetro chamado docElement cujo conteúdo é: Pedido></CancelarNfseEvento, isso instrui a rotina a incluir o grupo <Signature> antes dessa sequencia de tabs.

Por outro lado a rotina Assinar do libWinCryot não leva em consideração o conteúdo do parâmetro docElement, levando em conta apenas a última tag do XML.

Por favor realizem testes com o Capicom e peço que tenham mais um pouco de paciência, pois estou em busca de uma solução definitiva.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 2538 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...