Ir para conteúdo
  • Cadastre-se

dev botao

Erro E172 - Erro de Assinatura. Provedor Fiorilli - Prefeitura de Assis-SP


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

Recommended Posts

Postado

Olá, estou tendo um problema com esse erro 'E172 - Arquivo enviado com erro na assinatura' nos serviços de Gerar e Substituir notas no provedor da Fiorilli, tanto em ambiente de homologação como de produção.

Já troquei emails com dois funcionários do Suporte da Fiorilli, eles me auxiliam com relação à estrutura do XML, todas as sugestões foram seguidas (sem caracteres especiais/inválidos, sem espaço no final das tags, 2/4 casas decimais na alíquota, etc), e o erro permanece o mesmo.

Um dos funcionários disse que o erro pode estar em algum lugar na estrutura do XML, e agindo como uma cascata, o erro estoura sempre na Assinatura, mesmo ela estando correta (inclusive está valida segundo o site da receita).

Acabei ficando de mãos atadas, pois nem mesmo o suporte do próprio provedor conseguiu encontrar o erro. Solicitei um RPS de exemplo e meu RPS está exatamente igual ao xml que ele me mandou. Não sei se pelo fato do RPS dele estar datado no ano de 2013 a estrutura esteja defasada, porém, mesmo resultado.

Deixei em anexo 2 xmls meus: de envio e de retorno, além do xml exemplo enviado pelo provedor. Notem que ocultei algumas informações para preservar dados sensíveis, mas mantive a assinatura. 

Agradeço desde já.

gerarNfse_Exemplo.xml retornoGerarNFSe.xml XMLFinal.xml

  • Consultores
Postado

Camila,

Lhe convido a iniciar os testes com o novo componente de emissão de NFS-e: ACBrNFSeX
O componente antigo: ACBrNFSe não vai mais ter manutenção.

Faça os testes usando o programa exemplo do novo componente.

Manual de Migração
https://www.projetoacbr.com.br/forum/topic/63017-manual-de-migração-para-o-novo-componente-de-emissão-de-nfs-e/
 

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

Postado

Italo, para ser sincera eu não estou usando o componente da ACBr, estava tentando fazer a integração diretamente com a prefeitura.

Onde eu encontro para download o componente ACBrNFSeX? Encontrei só para emissão de NF-e, não para NFS-e.

  • Consultores
Postado

Boa tarde Camila, 

O componente ACBrNFSeX foi feito para ser utilizado com o Delphi ou Lazarus.

Esta em nossos planos lançar o ACBrLibNFSeX que vai ser uma DLL, desta forma você vai poder usar ela com a sua aplicação C#.

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

Postado

Boa tarde, Italo. Tudo bem.

Você teria algum RPS gerado pelo componente da ACBr para me enviar? De preferência do serviço de Gerar NFS-e.

O objetivo seria comparar com o RPS que estou gerando aqui.

Ficaria muito grata. 

Postado

Oi, Italo. Bom dia!

Eu analisei cuidadosamente seu xml, comparei com o meu, e realmente tinha um erro na minha assinatura: eu estava usando a criptografia SHA-256, sendo que o padrão utilizado no web service é o SHA-1.

No entanto, mesmo após a correção, o rps não passa e recebo o mesmo erro E172.

O rapaz do suporte da Fiorilli disse que encaminhou o problema para os desenvolvedores do Web Service.

Agora, fui passar o xml exemplo que você me enviou pelo site validador da receita, e segundo o site a assinatura está inválida.

Engraçado que minha assinatura está exatamente igual a sua (exceto o conteúdo das tags, obviamente) e está válida segundo o mesmo. Anexei meu xml aqui.

Realmente complicado pois nem mesmo o suporte do provedor pôde encontrar o erro.

Agradeço muito toda sua ajuda e atenção.

XMLFinal.xml

  • Consultores
Postado

Bom dia Camila,

Se esta enviando para o ambiente de homologação da Fiorilli vai ocorrer mesmo erro de assinatura.

Não sei qual foi a kaka que eles fizeram que a coisa não funciona.

O pessoal acaba realizando um teste enviando para o ambiente de produção mesmo.

  • 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

Postado

Verdade, vou voltar a testar em produção mesmo.

Nesse web service em homologação quando você manda um conteúdo inválido numa tag  (OptanteSimplesNacional, por exemplo), ele sobe o erro certo, dizendo que a tag tem um valor inválido e o que fazer para corrigir. Aí você muda para produção, força o MESMO erro, e o resultado é o bendito erro E172 de assinatura. Chega a ser engraçado.

Isso torna o desenvolvimento complicado, porque deixa tudo nebuloso (estourando o mesmo "erro" para diferentes problemas) e esconde os possíveis erros da estrutura.

Mas enfim, obrigada pela dica! Vou voltar a enviar para produção.

  • Curtir 1
  • 2 semanas depois ...
Postado

Boa tarde, Ítalo.

Conversando com a responsável do suporte da Fiorilli, Josiane, ela disse que entrou em contato com os desenvolvedores do Web Service para saber o que estava se passando.

Eles pediram que eu encaminhasse dois XML's: um antes de passar pelo método de assinatura e outro depois.

Segundo eles, o XML precisa estar em linha única (sem formatação) ANTES mesmo de ser assinado, e não apenas no envio. O que parece ser impossível de se fazer na minha linguagem (pelo menos segundo minhas pesquisas até o momento). Pois no momento em que carrego o XML, ele é indentado automaticamente.

Eu a perguntei porque, exatamente, o XML precisa estar em uma linha só para ser assinado. No que isso iria interferir na assinatura e na comunicação com o Web Service deles, mas até agora não tive resposta.

Em momento nenhum isso tinha sido informado por eles, foi preciso entrar em contato com os desenvolvedores para falarem.

Você saberia me dizer se isso ocorre no componente? O XML é assinado em uma linha única?

Estive em contato com o colega que abriu um outro tópico parecido: https://www.projetoacbr.com.br/forum/topic/64431-acbrnfsex-provedor-fiorilli-belterrapa-erro-e172-assinatura/ 

E ele também não obteve êxito. 

 

  • Consultores
Postado

Boa tarde Camila,

O componente ACBrNFSeX, alias todos os componentes ACBr que geram XML sempre geram se identação e sem quebra de linha.

Você concorda que um XML identado e com quebra de linhas tem muito mais caracteres do que o mesmo XML sem identação e sem quebras de linha?

Isso interfere sim na assinatura principalmente no DigestValue que é uma espécie de Checksum.

O Webservice do provedor pode até remover do XML recebido as quebras de linhas e a identação, mas ao validar a assinatura vai falhar pois o DigestValue vai ser diferente.

  • 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

Postado

@soganhei você consegue me enviar o RPS para eu comparar com o meu.. no caso eu não estou com caracteres especiais... 

o que você enviou na descrição?? 

você pode compartilhar o método que você usou para fazer a assinatura?

  • Solution
Postado

Gente, boa tarde.

Problema resolvido.

O que acontecia era que quando eu serializava o objeto do Web Service em um XML, eram gerados dois namespaces padrão na tag raiz, eles eram:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema".

E um namespace, este correto, na tag Rps, que era: xmlns="http://www.abrasf.org.br/nfse.xsd".

Ninguém do suporte da Fiorilli deu a mínima quando questionei sobre isso, dois meses atrás. Eu já tinha percebido isso, afinal, a única coisa que conflitava entre o XML exemplo que eles me mandaram e o XML que eu estava gerando era justamente esses namespaces, mas como eles não disseram nada sobre, deixei pra lá e fui procurar outros possíveis problemas.

Enfim, no XML deles existem duas tags com o namespace xmlns="http://www.abrasf.org.br/nfse.xsd" : a tag raiz (GerarNfseEnvio, no caso) e a tag 'Rps'.

Eu tentei apenas adicionar esse namespace à raiz, mas quebrava a aplicação na deserialização. Então, tentei simplesmente remover os namespaces da raiz, aqueles dois gerados automaticamente. E enfim, consegui emitir a nota.

Resumindo, a solução para o meu problema foi remover os namespaces da tag raiz.

Acredito que o suporte deveria ter percebido esse erro, afinal, os namespaces interferem diretamente na forma como o arquivo é interpretado.

Enfim, agradeço a todos os colegas do fórum e principalmente ao @Italo Giurizzato Junior pela disponibilidade e pela vontade sincera em ajudar.

  • Curtir 1
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

  • Este tópico foi criado há 1028 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.