Ir para conteúdo
  • Cadastre-se

dev botao

NFSeX Araras - Problemas ao enviar


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

Recommended Posts

  • Membros Pro
Postado

Estou realizando o envio de NFSeX para o municipio de Araras, provedor SigISSWeb
O xml gerado para o envio está anexado junto com o recebimento de retorno

Ocorre um erro que nos retorna:


raised exception class EACBrXmlException with message 'Extra content at the end of the document
'

try
      HttpClient.Execute;
    finally
      CodigoErro := HttpClient.HTTPResultCode;
      CodigoInterno := HttpClient.InternalErrorCode;
    end;


O CodigoErro retorna 404, como se o link do arquivo res estivesse errado,  recompilei com o .bat para ter certeza, o link é:
ProRecepcionar=https://wsararas.sigissweb.com/

Todos outros provedores que utilizo estão carregando sem problemas do arquivo res depois de trocar o componente para o ACBrNFSeX, acessando pelo browser pelo menos a URL base parece existir, mas talvez os métodos que não sejam, atualizei o SVN para verificar mas ainda mantém, existe alguma documentação ou alguém está conseguindo utilizar provedor de Araras em produção?

 

3-rec-soap.xml 3-env-lot.xml

  • Consultores
Postado
15 horas atrás, Ronaldo Souza disse:

Estou realizando o envio de NFSeX para o municipio de Araras, provedor SigISSWeb
O xml gerado para o envio está anexado junto com o recebimento de retorno

Ocorre um erro que nos retorna:


raised exception class EACBrXmlException with message 'Extra content at the end of the document
'

try
      HttpClient.Execute;
    finally
      CodigoErro := HttpClient.HTTPResultCode;
      CodigoInterno := HttpClient.InternalErrorCode;
    end;


O CodigoErro retorna 404, como se o link do arquivo res estivesse errado,  recompilei com o .bat para ter certeza, o link é:
ProRecepcionar=https://wsararas.sigissweb.com/

Todos outros provedores que utilizo estão carregando sem problemas do arquivo res depois de trocar o componente para o ACBrNFSeX, acessando pelo browser pelo menos a URL base parece existir, mas talvez os métodos que não sejam, atualizei o SVN para verificar mas ainda mantém, existe alguma documentação ou alguém está conseguindo utilizar provedor de Araras em produção?

 

3-rec-soap.xml 1.05 kB · 2 downloads 3-env-lot.xml 2.11 kB · 1 download

Bom dia!
Por favor, você está com seus fontes atualizados? Tem alguma alteração em seus fontes(Pasta ou Unit com ícone de exclamação vermelho)?
Testando com o programa exemplo, para a cidade de Araras-SP, os métodos de EnviarLoteRps síncrono e assíncrono não foram implementados para este provedor.
Veja o XML e o Soap que foram gerados usando o botão Emitir.
Note que os mesmos não coincidem com o que você disponibilizou.
 

1-ger-nfse-soap.xml 1-ger-nfse.xml

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Consultores
Postado

Bom dia Ronaldo,

Você esta com todos os fontes de todas as pastas atualizados?

Se sim, reinstalou o ACBr?

Verifica se não tem nenhuma unit ou arquivo possui uma bolinha vermelha em seu ícone, que faça parte do componente ACBrNFSeX.

Caso afirmativo, delete esse a unit ou o arquivo e atualize novamente, depois reinstale o ACBr.

No retorno consta o seguinte:

<h2>Error 404</h2>
<address>
  <a href="/">wsararas.simplissweb.com.br</a><br />
  <span>Apache/2.4.34 (Win32) OpenSSL/1.0.2o PHP/7.3.0</span>
</address>

 Mas no arquivo ACBrNFSeXServicos.ini temos:

[3503307]
; Atualizado em 20/09/2021
Nome=Araras
UF=SP
Provedor=SigISSWeb
ProRecepcionar=https://wsararas.sigissweb.com/

A cidade trocou de provedor recentemente?

  • 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

  • Membros Pro
Postado
1 hora atrás, Italo Giurizzato Junior disse:

Bom dia Ronaldo,

Você esta com todos os fontes de todas as pastas atualizados?

Se sim, reinstalou o ACBr?

Verifica se não tem nenhuma unit ou arquivo possui uma bolinha vermelha em seu ícone, que faça parte do componente ACBrNFSeX.

Caso afirmativo, delete esse a unit ou o arquivo e atualize novamente, depois reinstale o ACBr.

No retorno consta o seguinte:

<h2>Error 404</h2>
<address>
  <a href="/">wsararas.simplissweb.com.br</a><br />
  <span>Apache/2.4.34 (Win32) OpenSSL/1.0.2o PHP/7.3.0</span>
</address>

 Mas no arquivo ACBrNFSeXServicos.ini temos:

[3503307]
; Atualizado em 20/09/2021
Nome=Araras
UF=SP
Provedor=SigISSWeb
ProRecepcionar=https://wsararas.sigissweb.com/

A cidade trocou de provedor recentemente?

Sim, meus fontes estão atualizados, eu gero o arquivo dos provedores (res) ao rodar o "Compila_RES.BAT" na pasta Fontes\ACBrDFe\ACBrNFSeX sem problemas, e assim é gerado o arquivo .res e .rc
Porém talvez meu fonte não esteja lendo eles corretamente? Qual variavel eu poderia verificar isso?

Que saiba a cidade trocou de provedor ano passado sim, mas o atual é o SigISSWeb creio
 

1 hora atrás, Diego Foliene disse:

Bom dia!
Por favor, você está com seus fontes atualizados? Tem alguma alteração em seus fontes(Pasta ou Unit com ícone de exclamação vermelho)?
Testando com o programa exemplo, para a cidade de Araras-SP, os métodos de EnviarLoteRps síncrono e assíncrono não foram implementados para este provedor.
Veja o XML e o Soap que foram gerados usando o botão Emitir.
Note que os mesmos não coincidem com o que você disponibilizou.
 

1-ger-nfse-soap.xml 1.71 kB · 0 downloads 1-ger-nfse.xml 1.71 kB · 0 downloads

Estou utilizando a função ACBrNFSeX.Emitir

  • Membros Pro
Postado
9 horas atrás, Italo Giurizzato Junior disse:

Ronaldo,

Com o programa exemplo ocorre o mesmo erro?

No arquivo ACBrNFSeXServicos.ini como esta a inscrição da referida cidade?

Italo,

No meu arquivo .ini a inscrição está:
[3503307]
; Atualizado em 20/09/2021
Nome=Araras
UF=SP
Provedor=SigISSWeb
ProRecepcionar=https://wsararas.sigissweb.com/

Vou testar o programa de exemplo e posto o retorno

  • Curtir 2
  • Membros Pro
Postado

Atualizei o arquivo ini, pois no meu projeto estava procurando um ini na raiz do projeto que estava desatualizado,
Ao faze isso, mudou o erro, desta vez um 401 Unauthorized, gerando o xml de envio mas não o de resposta, pode ser alguma propriedade de chave ou certificado talvez?

Segue em anexo.

image.png.18dbedd338b7ba4a17638d5361c4f8b7.png

3-ger-nfse-soap.xml 3-ger-nfse.xml

  • Consultores
Postado
Em 18/11/2022 at 10:21, Ronaldo Souza disse:

Atualizei o arquivo ini, pois no meu projeto estava procurando um ini na raiz do projeto que estava desatualizado,
Ao faze isso, mudou o erro, desta vez um 401 Unauthorized, gerando o xml de envio mas não o de resposta, pode ser alguma propriedade de chave ou certificado talvez?

Segue em anexo.

image.png.18dbedd338b7ba4a17638d5361c4f8b7.png

3-ger-nfse-soap.xml 1.66 kB · 0 downloads 3-ger-nfse.xml 1.66 kB · 0 downloads

Bom dia!
Por favor, faça um teste preenchendo as propriedades usuário e senha da aba WebService
image.png
Via fonte elas correspondem a

ACBrNFSeX.Configuracoes.Geral.Emitente.WSUSer;
ACBrNFSeX.Configuracoes.Geral.Emitente.WSSenha;

 

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado
Em 18/11/2022 at 10:37, Diego Foliene disse:

Bom dia!
Por favor, faça um teste preenchendo as propriedades usuário e senha da aba WebService
image.png 
Via fonte elas correspondem a

ACBrNFSeX.Configuracoes.Geral.Emitente.WSUSer;
ACBrNFSeX.Configuracoes.Geral.Emitente.WSSenha;

 

Já estou informando elas com a senha que me foi passada, creio que se a senha tivesse errada o erro seria outro?

  • Consultores
Postado
18 horas atrás, Ronaldo Souza disse:

Já estou informando elas com a senha que me foi passada, creio que se a senha tivesse errada o erro seria outro?

Bom dia!
Por favor, faça um teste usando o método Gerar Token(aba Outros do programa exemplo e ACBrNFSeX.GerarToken via fonte) e antes de usar o Emitir.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado
13 horas atrás, Diego Foliene disse:

Bom dia!
Por favor, faça um teste usando o método Gerar Token(aba Outros do programa exemplo e ACBrNFSeX.GerarToken via fonte) e antes de usar o Emitir.

Diego, boa noite!

Implementei essa chamada, ele gera com sucesso o token, inclusive mandei a senha errada para testar e realmente retornaria um erro, porém mesmo com a senha certa eu vejo que ele retorna primeiro um HTTP 200 e volta o token sem problemas, mas ainda sim na função Emitir continua o mesmo erro voltando um HTTP 401, examente na função
procedure TACBrNFSeXWebservice.EnvioInterno dentro do fonte ACBrNFSeXWebServiceBase, na linha:
 

try
      HttpClient.Execute;
    finally
      CodigoErro := HttpClient.HTTPResultCode;
      CodigoInterno := HttpClient.InternalErrorCode;
    end;

 

A chamada do token está certa e me retornando, talvez precisaria informar o retorno do Token em alguma propriedade? Eu até pensei nisso mas a função ACBrNFSeX.GerarToken não tem um retorno 

 

  • Consultores
Postado
8 horas atrás, Ronaldo Souza disse:

Diego, boa noite!

Implementei essa chamada, ele gera com sucesso o token, inclusive mandei a senha errada para testar e realmente retornaria um erro, porém mesmo com a senha certa eu vejo que ele retorna primeiro um HTTP 200 e volta o token sem problemas, mas ainda sim na função Emitir continua o mesmo erro voltando um HTTP 401, examente na função
procedure TACBrNFSeXWebservice.EnvioInterno dentro do fonte ACBrNFSeXWebServiceBase, na linha:
 

try
      HttpClient.Execute;
    finally
      CodigoErro := HttpClient.HTTPResultCode;
      CodigoInterno := HttpClient.InternalErrorCode;
    end;

 

A chamada do token está certa e me retornando, talvez precisaria informar o retorno do Token em alguma propriedade? Eu até pensei nisso mas a função ACBrNFSeX.GerarToken não tem um retorno 

 

Bom dia!
Por favor, depois de executar o método ACBrNFSeX.GerarToken, tente pegar o retorno assim:

Token := ACBrNFSeX.WebService.GerarToken.Token;

Preencha a property

ACBrNFSeX.Configuracoes.Geral.Emitente.WSChaveAutoriz := ValorObtidoToken;

com ele e tente Emitir novamente.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado
14 horas atrás, Diego Foliene disse:

Bom dia!
Por favor, depois de executar o método ACBrNFSeX.GerarToken, tente pegar o retorno assim:

Token := ACBrNFSeX.WebService.GerarToken.Token;

Preencha a property

ACBrNFSeX.Configuracoes.Geral.Emitente.WSChaveAutoriz := ValorObtidoToken;

com ele e tente Emitir novamente.

Diego, boa noite!

O principio que você sugeriu seria a solução!
Porém, a função TratarRetornoGerarToken dentro do arquivo especifico do provedor SigISSWeb.Provider.pas está vazia!
Para tratar isso, eu deixei desta forma:

 

procedure TACBrNFSeProviderSigISSWeb.TratarRetornoGerarToken(
  Response: TNFSeGerarTokenResponse);
var
  AErro: TNFSeEventoCollectionItem;
begin
  try
    try
      if Response.ArquivoRetorno = '' then
        Exit;

      Response.Token := Response.ArquivoRetorno;
    except
      on E:Exception do
      begin
        AErro := Response.Erros.New;
        AErro.Codigo := Cod999;
        AErro.Descricao := Desc999 + E.Message;
      end;
    end;
  finally
  end;

end;

Claro que pode ser muito melhorada mas isso supriu para informar o token de retorno do XML na tag apropriada que deveria retornar (ACBrNFSeX.WebService.GerarToken.Token), assim informando como sugeriu na "ACBrNFSeX.Configuracoes.Geral.Emitente.WSChaveAutoriz", consegui passar o erro HTTP 401 e estou com outros erros de tags não preenchidas (parece que o provedor exige IE e IM do Destinatário, por exemplo, ou ao menos não permite vazia, ou devem ser preenchidas mesmo vazia, estou verificando ainda), mas agora creio que pelo horário ou excessivas tentativas estou tendo erro HTTP 500 no envio, porém isso solucionou o problema do Token em si

Creio que será necessário atualizar essa procedure para esse provedor no svn

  • Curtir 1
  • Consultores
Postado
9 horas atrás, Ronaldo Souza disse:

Diego, boa noite!

O principio que você sugeriu seria a solução!
Porém, a função TratarRetornoGerarToken dentro do arquivo especifico do provedor SigISSWeb.Provider.pas está vazia!
Para tratar isso, eu deixei desta forma:

 

procedure TACBrNFSeProviderSigISSWeb.TratarRetornoGerarToken(
  Response: TNFSeGerarTokenResponse);
var
  AErro: TNFSeEventoCollectionItem;
begin
  try
    try
      if Response.ArquivoRetorno = '' then
        Exit;

      Response.Token := Response.ArquivoRetorno;
    except
      on E:Exception do
      begin
        AErro := Response.Erros.New;
        AErro.Codigo := Cod999;
        AErro.Descricao := Desc999 + E.Message;
      end;
    end;
  finally
  end;

end;

Claro que pode ser muito melhorada mas isso supriu para informar o token de retorno do XML na tag apropriada que deveria retornar (ACBrNFSeX.WebService.GerarToken.Token), assim informando como sugeriu na "ACBrNFSeX.Configuracoes.Geral.Emitente.WSChaveAutoriz", consegui passar o erro HTTP 401 e estou com outros erros de tags não preenchidas (parece que o provedor exige IE e IM do Destinatário, por exemplo, ou ao menos não permite vazia, ou devem ser preenchidas mesmo vazia, estou verificando ainda), mas agora creio que pelo horário ou excessivas tentativas estou tendo erro HTTP 500 no envio, porém isso solucionou o problema do Token em si

Creio que será necessário atualizar essa procedure para esse provedor no svn

Bom dia!
De fato, está vazia mesmo.
Muito obrigado pela contribuição! Por favor, anexe a unit que você alterou para a gerar token para que possamos validar e enviar ao SVN.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado
1 hora atrás, Diego Foliene disse:

Bom dia!
De fato, está vazia mesmo.
Muito obrigado pela contribuição! Por favor, anexe a unit que você alterou para a gerar token para que possamos validar e enviar ao SVN.

Bom dia,

Estou tentando dar upload do arquivo .pas mas está dando erro Houve um problema no processamento do arquivo enviado. -200

Mas o arquivo foi a unit SigISSWeb.Provider.pas no caminho ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores
Vou tentar dar upload novamente em outro momento aqui ou outra resposta, mas dentro desta unit há a procedure TratarRetornoGerarToken

(Error code: -200)
  • Consultores
Postado

Bom dia Ronaldo,

Você não vai conseguir enviar a unit alterada para o SVN, uma vez que somente alguns desenvolvedores possuem permissão de Upload.

Favor anexar a unit alterada aqui mesmo no fórum que faremos a avaliação e caso esteja correta enviaremos para o SVN.

  • 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

  • Membros Pro
Postado
Em 23/11/2022 at 10:53, Italo Giurizzato Junior disse:

Bom dia Ronaldo,

Você não vai conseguir enviar a unit alterada para o SVN, uma vez que somente alguns desenvolvedores possuem permissão de Upload.

Favor anexar a unit alterada aqui mesmo no fórum que faremos a avaliação e caso esteja correta enviaremos para o SVN.

No caso é aqui mesmo no forum para anexar a resposta, ainda não estou conseguindo.

  • Consultores
Postado
52 minutos atrás, Ronaldo Souza disse:

No caso é aqui mesmo no forum para anexar a resposta, ainda não estou conseguindo.

Bom dia!
Por favor, exclua alguns de seus anexos de tópicos antigos e tente novamente.
 

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado
Em 28/11/2022 at 11:37, Diego Foliene disse:

Bom dia!
Por favor, exclua alguns de seus anexos de tópicos antigos e tente novamente.
 

Certo, irei testar isso
De antemão, já adianto que por enquanto não está funcionando a emissão, continua me dando um erro:

raised exception class EACBrXmlException with message 'Extra content at the end of the document (HTTP 500 Internal Server Error)

Notei que no XML de envio está assim o inicio:
 

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<notafiscal>
	<cnpj_cpf_prestador>XXXXXXXXXXXXXXXXXX</cnpj_cpf_prestador>
	<exterior_dest>0</exterior_dest>
	<cnpj_cpf_destinatario>XXXXXXXXXXXXXXXXXX</cnpj_cpf_destinatario>
	<pessoa_destinatario>F</pessoa_destinatario>
	<ie_destinatario>XXXXXXXXXXXXXXXXXX</ie_destinatario>
	<im_destinatario>XXXXXXXXXXXXXXXXXX</im_destinatario>
	<razao_social_destinatario>XXXXXXXXXXXXXXXXXX</razao_social_destinatario>
	<endereco_destinatario>Rua</endereco_destinatario>
	<numero_ende_destinatario>51</numero_ende_destinatario>
	<complemento_ende_destinatario/>
	<bairro_destinatario></bairro_destinatario>
	<cep_destinatario>XXXXX</cep_destinatario>
	<cidade_destinatario>Araras</cidade_destinatario>
	<uf_destinatario>SP</uf_destinatario>
	<pais_destinatario>BRASIL</pais_destinatario>
	<fone_destinatario>XXXXX</fone_destinatario>
	<email_destinatario></email_destinatario>
	<valor_nf>11.00</valor_nf>
	<deducao>0.00</deducao>
	<valor_servico>11.00</valor_servico>
	<data_emissao>2022-12-05</data_emissao>
	<forma_de_pagamento/>
	<descricao>Laboratorios de analise na area veterinaria</descricao>
	<id_codigo_servico>05.03</id_codigo_servico>
	<cancelada>N</cancelada>
	<iss_retido>N</iss_retido>
	<aliq_iss>2.69</aliq_iss>
	<valor_iss>0.30</valor_iss>
	<bc_pis>11.00</bc_pis>
	<aliq_pis>0.00</aliq_pis>
	<valor_pis>0.00</valor_pis>
	<bc_cofins>11.00</bc_cofins>
	<aliq_cofins>0.00</aliq_cofins>
	<valor_cofins>0.00</valor_cofins>
	<bc_csll>11.00</bc_csll>
	<aliq_csll>0.00</aliq_csll>
	<valor_csll>0.00</valor_csll>
	<bc_irrf>11.00</bc_irrf>
	<aliq_irrf>0.00</aliq_irrf>
	<valor_irrf>0.00</valor_irrf>
	<bc_inss>11.00</bc_inss>
	<aliq_inss>0.00</aliq_inss>
	<valor_inss>0.00</valor_inss>
	<sistema_gerador/>
	<serie_rps>1</serie_rps>
	<rps>3</rps>
</notafiscal>

 

Removi alguns dados do cliente, mas note que no cabeçalho existem duas tags <xml>, como UTF-8 e ISO-8859-1, poderia ser isso que causa o erro?


'.

  • Moderadores
Postado
37 minutos atrás, Ronaldo Souza disse:

Certo, irei testar isso
De antemão, já adianto que por enquanto não está funcionando a emissão, continua me dando um erro:

raised exception class EACBrXmlException with message 'Extra content at the end of the document (HTTP 500 Internal Server Error)

Notei que no XML de envio está assim o inicio:
 

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<notafiscal>
	<cnpj_cpf_prestador>XXXXXXXXXXXXXXXXXX</cnpj_cpf_prestador>
	<exterior_dest>0</exterior_dest>
	<cnpj_cpf_destinatario>XXXXXXXXXXXXXXXXXX</cnpj_cpf_destinatario>
	<pessoa_destinatario>F</pessoa_destinatario>
	<ie_destinatario>XXXXXXXXXXXXXXXXXX</ie_destinatario>
	<im_destinatario>XXXXXXXXXXXXXXXXXX</im_destinatario>
	<razao_social_destinatario>XXXXXXXXXXXXXXXXXX</razao_social_destinatario>
	<endereco_destinatario>Rua</endereco_destinatario>
	<numero_ende_destinatario>51</numero_ende_destinatario>
	<complemento_ende_destinatario/>
	<bairro_destinatario></bairro_destinatario>
	<cep_destinatario>XXXXX</cep_destinatario>
	<cidade_destinatario>Araras</cidade_destinatario>
	<uf_destinatario>SP</uf_destinatario>
	<pais_destinatario>BRASIL</pais_destinatario>
	<fone_destinatario>XXXXX</fone_destinatario>
	<email_destinatario></email_destinatario>
	<valor_nf>11.00</valor_nf>
	<deducao>0.00</deducao>
	<valor_servico>11.00</valor_servico>
	<data_emissao>2022-12-05</data_emissao>
	<forma_de_pagamento/>
	<descricao>Laboratorios de analise na area veterinaria</descricao>
	<id_codigo_servico>05.03</id_codigo_servico>
	<cancelada>N</cancelada>
	<iss_retido>N</iss_retido>
	<aliq_iss>2.69</aliq_iss>
	<valor_iss>0.30</valor_iss>
	<bc_pis>11.00</bc_pis>
	<aliq_pis>0.00</aliq_pis>
	<valor_pis>0.00</valor_pis>
	<bc_cofins>11.00</bc_cofins>
	<aliq_cofins>0.00</aliq_cofins>
	<valor_cofins>0.00</valor_cofins>
	<bc_csll>11.00</bc_csll>
	<aliq_csll>0.00</aliq_csll>
	<valor_csll>0.00</valor_csll>
	<bc_irrf>11.00</bc_irrf>
	<aliq_irrf>0.00</aliq_irrf>
	<valor_irrf>0.00</valor_irrf>
	<bc_inss>11.00</bc_inss>
	<aliq_inss>0.00</aliq_inss>
	<valor_inss>0.00</valor_inss>
	<sistema_gerador/>
	<serie_rps>1</serie_rps>
	<rps>3</rps>
</notafiscal>

 

Removi alguns dados do cliente, mas note que no cabeçalho existem duas tags <xml>, como UTF-8 e ISO-8859-1, poderia ser isso que causa o erro?


'.

Sim. exatamente. teria que ver o motivo de estar gerando .mas a primeira é a correta e deveria ser única pra dizer que o arquivo é UTF-8

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Membros Pro
Postado
Em 06/12/2022 at 13:11, Italo Giurizzato Junior disse:

Boa tarde Ronaldo,

Favor atualizar os fontes, reinstale o ACBr e faça novos testes.

Italo, irei realizar os testes aqui agora e retorno

  • Curtir 1
  • 3 semanas depois ...
  • Membros Pro
Postado

Perdão a demora no retorno, realizei testes e obtive ainda erros, notei que primeiro no cabeçalho continuam as duas linhas:
 

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="ISO-8859-1"?>

Isso vem do fonte SigISSWeb.Provider.pas na linha 355, dentro da função procedure TACBrNFSeProviderSigISSWeb.PrepararEmitir
 

  for I := 0 to TACBrNFSeX(FAOwner).NotasFiscais.Count -1 do
  begin
    Nota := TACBrNFSeX(FAOwner).NotasFiscais.Items[I];

    Nota.GerarXML;

    Nota.XmlRps := AplicarXMLtoUTF8(Nota.XmlRps);
    Nota.XmlRps := AplicarLineBreak(Nota.XmlRps, '');

    SalvarXmlRps(Nota);

    ListaRps := ListaRps + Nota.XmlRps;
  end;

  Response.ArquivoEnvio := RemoverDeclaracaoXML(ListaRps);
  Response.ArquivoEnvio := '<?xml version="1.0" encoding="ISO-8859-1"?>' +
                           Response.ArquivoEnvio;

  FpPath := 'rest/nfes';
  FpMethod := 'POST';
  FpMimeType := 'text/xml';


Note onde existe a chamada da função "AplicarXMLtoUTF8" onde insere o cabeçalho para enconding UTF-8, porém logo abaixo é simplesmente adicionado o cabeçalho com enconding ISO-8859-1 "na mão" como string.
Testei comentando uma linha de cada vez, porém obtive o mesmo resultado, na hora de enviar o XML assinado para o servidor:


raised exception class EACBrXmlException with message 'Start tag expected, '<' not found
'.
 


raised exception class EACBrXmlException with message 'Start tag expected, '<' not found
'.

NMD86U2.png
H934yp4.png

  • Consultores
Postado

Bom dia @Ronaldo Souza!

Citar

Testei comentando uma linha de cada vez, porém obtive o mesmo resultado, na hora de enviar o XML assinado para o servidor:

raised exception class EACBrXmlException with message 'Start tag expected, '<' not found
'.

Por favor, você seguiu a orientação do Italo e reinstalou o ACBr após realizar a atualização dos fontes?(Se possível, por favor, peço que faça esse processo novamente, dessa vez marcando a opção para "Apagar arquivos antigos").

Citar

Note onde existe a chamada da função "AplicarXMLtoUTF8" onde insere o cabeçalho para enconding UTF-8, porém logo abaixo é simplesmente adicionado o cabeçalho com enconding ISO-8859-1 "na mão" como string.


De fato, a AplicarXMLToUTF8 adiciona a declaração de <?xml version="1.0" encoding="UTF-8"?>. E a declaração <?xml version="1.0" encoding="ISO-8859-1"?> é adicionada posteriormente via hardcode. Mas por favor, note a RemoverDeclaracaoXML(ListaRps). A mesma remove a linha <?xml version="1.0" encoding="UTF-8"?>!
Ela aparece no soap porque é adicionada de novo na procedure que salva o arquivo, mas no envio, ela vai apenas com uma declaração.
Você pode confirmar isso testando pelo programa exemplo, colocando um ponto de parada na procedure Executar na linha 942 da unit ACBrNFSeXWebServiceBase.pas e verificando o valor da variável FPEnvio.(Ou Message se preferir).

Testando aqui, usando o programa exemplo e fazendo o envio para a cidade de Araras estou recebendo o retorno 401 Unauthorized, mas isso é o esperado, pois não tenho dados válidos de um prestador.

  • Curtir 2
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

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