Ir para conteúdo
  • Cadastre-se

dev botao

Erro "Input is not proper UTF-8, indicate encoding !" - Ananindeua/PA


Recommended Posts

Prezado(a)(s),

Estou com um problema no método TACBrXmlDocument.LoadFromXml(AXmlDocument: string), da unit ACBrXmlDocument.pas, ao carregar alguns retornos de erro do município de Ananindeua/PA (Cód. IBGE 1500800, provedor Desenvolve).

Ao realizar o debug, é exibida a seguinte mensagem de erro:
Input is not proper UTF-8, indicate encoding ! Bytes: 0xE3 0x6F 0x20 0x61

Contornei a situação apenas trocando a linha 1257,

de: loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));
para: loadedDoc := xmlParseDoc(PAnsiChar(ansistring(UTF8Decode(AXmlDocument))));

Estou registrando aqui pois não sei se essa é a maneira correta de solucionar o problema.

Segue abaixo dois exemplos de retorno do provedor do município que provocam esse erro:

Exemplo 1:

<ns1:enviarLoteRpsSincronoEnvioResponse
	xmlns:ns1="http://ws.integracao.nfsd.desenvolve/">
	<return>
		<EnviarLoteRpsSincronoResposta
			xmlns="http://www.abrasf.org.br/nfse.xsd">
			<ListaMensagemRetorno>
				<MensagemRetorno>
					<Codigo>0005</Codigo>
					<Mensagem>Contribuinte não autorizado a utilizar o WEBSERVICE.</Mensagem>
				</MensagemRetorno>
			</ListaMensagemRetorno>
		</EnviarLoteRpsSincronoResposta>
	</return>
</ns1:enviarLoteRpsSincronoEnvioResponse>

Exemplo 2:

<ns1:enviarLoteRpsSincronoEnvioResponse
	xmlns:ns1="http://ws.integracao.nfsd.desenvolve/">
	<return>
		<EnviarLoteRpsSincronoResposta
			xmlns="http://www.abrasf.org.br/nfse.xsd">
			<ListaMensagemRetorno>
				<MensagemRetorno>
					<Codigo>0130</Codigo>
					<Mensagem>Para emissão de Nota Fiscal é necessário realizar a Declaração de Vendas de Mercadoria do(s) mês(es): 11/2023, 12/2023, 01/2024. Menu: Sistema - Minha Conta - Declaração Mensal Simples Nacional e MEI.</Mensagem>
				</MensagemRetorno>
			</ListaMensagemRetorno>
		</EnviarLoteRpsSincronoResposta>
	</return>
</ns1:enviarLoteRpsSincronoEnvioResponse>

Desde já agradeço a atenção.

Edit: Obs.: os testes foram realizandos usando o projeto de exemplo ACBrNFSeX em Delphi, usando o Delphi 11.3

Editado por João Paulo Alcântara
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia João,

Acabei de fazer um teste e não tive esse erro.

Você tem fontes do ACBr com alterações locais?
Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
Atualize todos os fontes de todas as pastas.
Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
Compile a aplicação com a opção Build.
Por fim repita os testes.
 

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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.