Ir para conteúdo
  • Cadastre-se

Erro ao cancelar NFCom (modelo 62) – Falha ao assinar o Envio de Evento Erro: Falha ao interpretar o XML "xmlParseDoc" --> 9 - Input is not proper UTF-8, indicate encoding


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

Recommended Posts

Postado

Olá pessoal, tudo bem?

Sou novo no projeto ACBr e estou implementando a emissão da NFCom (modelo 62) para todos os estados.
Atualmente, já consigo emitir NFCom tanto em homologação quanto em produção, sem problemas.

Estou enfrentando um erro ao cancelar a nota fiscal no ambiente de produção, usando a opção de chave conforme exemplo:

  ACBrNFCom1.EventoNFCom.Evento.Clear;

  with ACBrNFCom1.EventoNFCom.Evento.New do
  begin
    infEvento.chNFCom := Chave;
    infEvento.CNPJ   := CNPJ;
    infEvento.dhEvento := now;
    infEvento.tpEvento := teCancelamento;
    infEvento.detEvento.xJust := Justificativa;
    infEvento.detEvento.nProt := Protocolo;
  end;

  ACBrNFCom1.EnviarEvento(StrToInt(idLote));


Parece que o problema está relacionado com a justificativa enviada no evento, pois o erro ocorre quando utilizo uma frase com caracteres acentuados ou espaços. Exemplo de justificativa:

Erro na descrição do serviço

Minha aplicação levanta a seguinte exception:

exception class    : EACBrDFeException
exception message  : Falha ao assinar o Envio de Evento Erro: Falha ao interpretar o XML "xmlParseDoc" --> 9 - Input is not proper UTF-8, indicate encoding ! Bytes: 0xC7 0xC3 0x4F 0x20.
main thread ($2600):
02b04abb +097 Demo.exe ACBrDFe                 655 +16 TACBrDFe.GerarException
02b104c3 +003 Demo.exe ACBrDFeWebService       561  +0 TDFeWebService.GerarException
02b10848 +0bc Demo.exe ACBrDFeWebService       630 +11 TDFeWebService.AssinarXML
77035711 +021 ntdll.dll                                KiUserExceptionDispatcher
7512b6f0 +050 KERNELBASE.dll                           RaiseException
02ad4b71 +0ad Demo.exe ACBrDFeSSL             1373 +20 TDFeSSL.Assinar
02b107ea +05e Demo.exe ACBrDFeWebService       621  +2 TDFeWebService.AssinarXML
02b4e4e5 +1d1 Demo.exe ACBrNFComWebServices   1937 +34 TNFComEnvEvento.DefinirDadosMsg
02b0ef40 +068 Demo.exe ACBrDFeWebService       212  +6 TDFeWebService.Executar
02b52588 +39c Demo.exe ACBrNFCom               601 +63 TACBrNFCom.EnviarEvento

Entretanto, se eu utilizar uma justificativa simples, sem acentos ou espaços, o cancelamento é realizado corretamente, como por exemplo:

erronadigitacao

 

Informações Complementares:
 - Delphi 12.3
 - Versão do Projeto ACBr: revisão 42711 de 05/11/2025
 - Problema ocorre em diferentes máquinas: Win10, Win11 e diferente estados: MG e SP.
 - As dlls (Capicom, LibXml2, OpenSSL) são distribuidas na pasta do projeto.
 

  • Consultores
Postado

Muito provável não é permitido enviar acentuação.

no componente em uma opção remover acentuações

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Solution
Postado

Contornamos a situação usando a função ACBrUtil.Strings.TiraAcentos já que era algo pontual: 

infEvento.detEvento.xJust := ACBrUtil.Strings.TiraAcentos(Justificativa);

Obrigado Juliomar.

  • Curtir 1
  • Este tópico foi criado há 223 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...