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á 2286 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á 2286 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.