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
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!
Boa tarde, alguem conseguiu solucionar o problema acima?
Boa Tarde tbem estou com esse mesmo problema, conseguiu alguma solução para este problema??
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.
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.
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
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 =(
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
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
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
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, 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.
Boa tarde.
Eu deixo a reference “URI” em branco.
Dim reference As New Reference()
reference.Uri = “”
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.
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.
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)
Olá Cassius, o que vc fez para solucionar?
Olá Cassius, o que vc fez para solucionar?
Opa, Vinicius, perdão pela demora em responder.. é que a correria tá grande…
Sim, consegui assinar, já faz alguns dias.
Abs
conseguiu resolver?
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.