Base de conhecimento

Falha ao efetuar parse do CFe no processamento via DF-e Client - Layout do xml não confere

3 minutos de leitura
Copiar

Problema

Falha ao efetuar parse do CF-e no processamento via DF-e Client – Layout do xml não confere.

Solução/Procedimento

Se ao processar um documento JSON (cielopos ou microsjon) na integração SAT e ocorrer o erro abaixo a provável causa do problema será a nomenclatura do arquivo.

A seguinte exceção será lançada no log do DF-e Client:

org.dom4j.DocumentException: <strong>Falha ao efetuar parse da mensagem, layout do xml nao confere</strong>
	at br.com.oobj.me.entidade.envelope.xmlbind.sat.EnvelopeRetornoSatXmlBind.unbind(EnvelopeRetornoSatXmlBind.java:56)
	at br.com.oobj.me.retorno.sat.GeradorRespostaSAT.salvarCFeNaPasta(GeradorRespostaSAT.java:68)
	at br.com.oobj.me.retorno.sat.GeradorRespostaSATTXTSimpl.gerarResposta(GeradorRespostaSATTXTSimpl.java:50)
	at br.com.oobj.me.retorno.sat.GeradorRespostaSATPOSCielo.gerarResposta(GeradorRespostaSATPOSCielo.java:46)
	at br.com.oobj.me.retorno.RespostaService.responder(RespostaService.java:65)
	at br.com.oobj.me.retorno.ConsumidorRespostasLote.novaMensagem(ConsumidorRespostasLote.java:77)
	at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.processarComCommitSincrono(ConsumidorNotificanteOneMessage.java:356)
	at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.execute(ConsumidorNotificanteOneMessage.java:176)
	at br.com.oobj.util.fila.ConsumidorNotificanteOneMessage.run(ConsumidorNotificanteOneMessage.java:137)
	at java.lang.Thread.run(Thread.java:745)

 

Quais integrações podem ser afetadas ?

  • Integração Via DLL (Micros)
  • Integração HTTP

Exemplo hipotético de como este problema pode acontecer:

Foi realizado a tentativa de emissão de um cupom fiscal no dia 10/09, porém por algum motivo o documento foi rejeitado e a correção não foi realizada no mesmo dia.

No dia 10/10 foi realizado uma verificação e foi constatado que o documento ainda estava rejeitado, foi então realizado a correção do documento e o arquivo reenviado e de imediato ocorreu a exceção no log ao converter o arquivo para o layout CF-e.

Ocorre que o DF-e Client valida a nomenclatura do arquivo para fazer um controle interno de numeração e no caso desse exemplo a nomenclatura do arquivo reenviado no dia 10/10 estava da seguinte forma.

  • microsjson- 00029442006562100919.txt

Mas o que tem de errado na nomenclatura ?

Para entender o que está errado precisamos entender a composição da nomenclatura.

  • Os 10 primeiros números é gerado pelo micros como sendo um ID que nunca se repete para outra conta.
  • Os próximos 4 números é o número da conta
  • Os 6 últimos números é a data de emissão do cupom fiscal.

Visto isso temos:

  • idPDVSemRepeticao = 0002944200
  • Número da conta = 6562
  • Data do processamento = 100919 (Dia/Mês/Ano)

Neste exemplo o problema está nos 6 últimos números, visto que o valor 10 é referente ao dia da emissão, 09 é o mês da emissão e 19 o ano da emissão.

O correto seria alterar o mês para 10, ficando a nomenclatura do arquivo da seguinte forma:

  • microsjson-00029442006562101019.txt

Vejam que agora a posição referente ao mês está com o valor 10 e nesse caso o documento pode ser reprocessado e não ocorrerá a exceção.

Para saber mais sobre a integração Micros e CieloPos vejao seguinte artigo.

Referência

Não encontrou o que procurava?