FórumCategoria: Fórum - Perguntas e RespostaseSocial – Assinatura do evento inválida
perguntou há 8 anos

Boa tarde a todos,

Estou tentando enviar o primeiro XML via web services para o eSocial, e já passei por vários problemas, alguns relatados aqui por outros colegas, mas este problema que estou tendo agora não consegui achar nenhuma dica nos tópicos já existentes.

Eu envio o evento S-1000 para o primeiro web service, e este aceita, me fornecendo um protocolo de envio para posterior consulta no segundo web service. Quando faço a consulta, recebo a mensagem “142 – Assinatura do evento inválida. Ações Sugeridas: Verificar se houve alteração do evento após a assinatura. Verificar a validade da assinatura”.

Posso adiantar a vocês que a minha tag de assinatura está idêntica a que consta no manual do desenvolvedor versão 1.4, e que o local onde ela foi colocada é abaixo da tag “evtInfoEmpregador”, local este que eu já experimentei modificar, e aí recebi mensagem diferente apontando que a localização da tag estava errada, parecendo portanto que o local dela está correto.

Alguém já passou por este problema? 

Desde já, agradeço por qualquer informação.

Cassius

Frederico Jacobi Sausen respondeu há 8 anos

Olá Cassius, o que vc fez para solucionar?

Frederico Jacobi Sausen respondeu há 8 anos

Olá Cassius, o que vc fez para solucionar?

Softbus - Cassius respondeu há 8 anos

Opa, Vinicius, perdão pela demora em responder.. é que a correria tá grande…

Sim, consegui assinar, já faz alguns dias.

Abs

vinicius c nichele respondeu há 8 anos

conseguiu resolver?

Aline Parizi respondeu há 8 anos

Bom dia! Eu passei por esse problema ontem. Pra resolver, eu salvei o xml do evento e depois salvei o xml do lote. Utilizei um programa de comparação de textos (araxis merge), e então identifiquei que quando o xml do evento foi inserido dentro do xml do lote, as palavras com acentuação ficaram erradas. Depois que corrigi isso resolveu.

12 Respostas
Genildo Cardoso respondeu há 8 anos

Eu fiz o seguinte: Criei a rotina de assinatura em C# 
1 – Gerei o arquivo xml puramente do evento tipo S-1000.
2 – Enviei o xml para a rotina de assinatura. Na assinatura, é preciso localizar o NÓ principal do evento em questão. Ex: evtTabEmpregador.
3 – Dentro deste NÓ, há o atributo ID, que contém a identificação única do evento, certo?
Localize então este atributo para uma variável String: ex.: id
4 – Na montagem da assinatura onde você precisa informar o REFERENCE, use o id do atributo pesquisado: Ex:  Reference reference = new Reference(“#” + id);
5 – Na linha do seu código onde você tem que informar o reference da assinatura use o reference criado acima!
 
Espero ter ajudado. Como não sei qual linguagem você usa, não tem como ser mais específico!

Eroni Bento Américo respondeu há 8 anos

Boa tarde, alguem conseguiu solucionar o problema acima?

Welington Borges respondeu há 8 anos

Boa Tarde tbem estou com esse mesmo problema, conseguiu alguma solução para este problema??

Paulo Bulgarelli respondeu há 8 anos

Boa tarde, estou com o mesmo problema… Estou desenvolvendo a aplicação em C#…

Se uso a URI vazia, recebo o retorno: Assinatura do evento inválida. Ações Sugeridas: Verificar se houve alteração do evento após a assinatura. Verificar a validade da assinatura.

Se preencho a URI, recebo o retono: Assinatura do evento inválida. A assinatura do evento deverá ser realizada sobre todo documento Xml (Atributo ‘URI’ dever ser vazio)

Alguma sugestão de como resolver esse problema?

Obrigado.

Paulo Bulgarelli respondeu há 8 anos

Boa tarde, estou com o mesmo problema… Estou desenvolvendo a aplicação em C#…

Se uso a URI vazia, recebo o retorno: Assinatura do evento inválida. Ações Sugeridas: Verificar se houve alteração do evento após a assinatura. Verificar a validade da assinatura.

Se preencho a URI, recebo o retono: Assinatura do evento inválida. A assinatura do evento deverá ser realizada sobre todo documento Xml (Atributo ‘URI’ dever ser vazio)

Alguma sugestão de como resolver esse problema?

Obrigado.

Softbus - Cassius respondeu há 8 anos

Boa tarde, William, não teve êxito na assinatura ainda?

Acho que os detalhes mais importantes são:
– Uri do obj Reference deve ficar vazia
– É preciso gerar o XML do Evento separadamente do Lote, assiná-lo, e só então anexá-lo ao XML do Lote
– A tag com a assinatura deve ficar dentro da tag principal do Evento (ex: evtInfoEmpregador), lá no final dela.

Espero ter ajudado.
Abs

William queiroz respondeu há 8 anos

Boa tarde, estou passando pelo mesmo problema… já tentei de tudo !!
Se alguém puder dar uma luz estou desenvolvendo em C#.
Não sei se estou assinando dentro das tags corretas =(

Genildo Cardoso respondeu há 8 anos

Bloqueou algumas tags na resposta anterior!
Eu assinei o no esocial inteiro, então a assinatura ficou logo abaixo do evento xxx
ex:
esocial
evtinfoempregador
/evtinfoempregador
assinatura
dados da assinatura
/assinatura
/esocial

Genildo Cardoso respondeu há 8 anos

Bloqueou algumas tags na resposta anterior!
Eu assinei o no esocial inteiro, então a assinatura ficou logo abaixo do evento xxx
ex:
esocial
evtinfoempregador
/evtinfoempregador
assinatura
dados da assinatura
/assinatura
/esocial

Genildo Cardoso respondeu há 8 anos

Eu assinei a partir do NÓ esocial, então a assinatura ficoi dentro do esocial logo abaixo do evtxxx
ex:

…. estrutura

… nós de assinatura

Softbus - Cassius respondeu há 8 anos

Julio Cesar, obrigado pelo feedback. Depois de algumas tentativas informando o ID na Uri da Reference, e recebendo a mensagem de erro que mencionei, eu também tentei com a Uri vazia e aí funcionou. Estou tentando entender essa questão, por que alguns estão enviando com a Uri preenchida (e a princípio passa na validação do eSocial) e outros, como eu, não.

Softbus - Cassius respondeu há 8 anos

Julio Cesar, obrigado pelo feedback. Depois de algumas tentativas informando o ID na Uri da Reference, e recebendo a mensagem de erro que mencionei, eu também tentei com a Uri vazia e aí funcionou. Estou tentando entender essa questão, por que alguns estão enviando com a Uri preenchida (e a princípio passa na validação do eSocial) e outros, como eu, não.

Julio Cesar respondeu há 8 anos

Boa tarde.
Eu deixo a reference “URI” em branco.
Dim reference As New Reference()
reference.Uri = “”

Softbus - Cassius respondeu há 8 anos

Boa tarde, Genildo,

Depois de analisar a fundo o problema e tentar algumas coisas, eu me dei conta de que precisaria gerar o XML do S-1000 em separado, para então assiná-lo, e só depois anexá-lo ao XML principal do lote. Isso porque vi em alguns exemplos que a URI do objeto Reference da assinatura deveria especificar um nó específico do XML, e não se referir ao XML todo. É bem o que tu explicou acima. A única diferença é que tu usou o construtor da classe Reference.
Pois bem, ao mandar essa nova versão do XML, o web service de consulta me retornou a seguinte mensagem: Assinatura do evento inválida. A assinatura do evento deverá ser realizada sobre todo documento Xml (Atributo ‘URI’ dever ser vazio). Ou seja, mudou a mensagem de erro, mas foi de encontro ao que eu estava entendendo, que a assinatura deveria “envelopar” somente o XML do evento S-1000.
Pode me ajudar com algo mais?
Em tempo, estou usando C# para desenvolver.
Grato.

Softbus - Cassius respondeu há 8 anos

Boa tarde, Genildo,

Depois de analisar a fundo o problema e tentar algumas coisas, eu me dei conta de que precisaria gerar o XML do S-1000 em separado, para então assiná-lo, e só depois anexá-lo ao XML principal do lote. Isso porque vi em alguns exemplos que a URI do objeto Reference da assinatura deveria especificar um nó específico do XML, e não se referir ao XML todo. É bem o que tu explicou acima. A única diferença é que tu usou o construtor da classe Reference.
Pois bem, ao mandar essa nova versão do XML, o web service de consulta me retornou a seguinte mensagem: Assinatura do evento inválida. A assinatura do evento deverá ser realizada sobre todo documento Xml (Atributo ‘URI’ dever ser vazio). Ou seja, mudou a mensagem de erro, mas foi de encontro ao que eu estava entendendo, que a assinatura deveria “envelopar” somente o XML do evento S-1000.
Pode me ajudar com algo mais?
Em tempo, estou usando C# para desenvolver.
Grato.

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

respondeu há 8 anos

Conseguiu resolver?

SAMUEL CAVALCANTE respondeu há 7 anos

 olá, estou enfrentando este mesmo problema, estou desenvolvendo em c#.
alguem poderia ajudar?
o erro :Assinatura do evento inválida. Ações Sugeridas: Verificar se houve alteração do evento após a assinatura. Verificar a validade da assinatura.
estou fazendo na ordem: gerando o evento -> assinando -> criando o lote + evento -> transmitindo (com sucesso) -> Consultando o status (erro)