Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2273 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia, 

Estou tentando assinar um arquivo dessa maneira:

procedure TfrmAssinadoreSocial.btnAssinarClick(Sender: TObject);
var
  sArqXML, sXMLAssinado : String;
begin
  sArqXML := ConverteXMLtoUTF8(xmlEvento.XML.Text);

  sXMLAssinado := eSocial.SSL.Assinar(String(sArqXML), 'eSocial', '' , '', '', '', 'ID');

  memXML.Text := sXMLAssinado;
end;

O xmlEvento é um TXMLDocument

Estou testando direto pelo delphi, recebo o erro "Falha ao localizar o nó de assinatura" mas ele retorna o arquivo assinado só que a assinatura vem após o nó </envioLoteEventos>.

Anexei o arquivo que uso para a assinatura(teste3.xml) e o retono dele (retorno3.xml)

teste3.xml

retorno3.xml

  • Consultores
Postado

Bom dia Diego,

Se você já tem o XML gerado pela sua aplicação o que você acha de testar usando o exemplo do botão [Carregar XML]?

Detalhe no arquivo XML só deve conter o evento, não pode esta contido dentro do grupo <envioLoteEvento>

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
40 minutos atrás, Italo Jurisato Junior disse:

Bom dia Diego,

Se você já tem o XML gerado pela sua aplicação o que você acha de testar usando o exemplo do botão [Carregar XML]?

Detalhe no arquivo XML só deve conter o evento, não pode esta contido dentro do grupo <envioLoteEvento>

Italo, fiz o que você disse no programa exemplo e carregou o arquivo.

Como faço para ver o arquivo assinado após isso ?

Postado
8 minutos atrás, Italo Jurisato Junior disse:

Diego,

Você tem certeza?

E nas sub pastas que foram criadas dentro da pasta XMLExemplos?

Tenho. Ele só cria as sub pastas se, após eu carregar o arquivo XML, eu clicar em "Gerar Arquivos", e mesmo assim as cria vazias.

  • Consultores
Postado

Diego,

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

Se sim, os componentes foram reinstalados através do ACBrInstall_Trunk2?

Pois após carregar o XML, o componente checa se esta assinado ou não, caso não esteja, assina, valida e salva em disco.

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
15 minutos atrás, Italo Jurisato Junior disse:

Diego,

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

Se sim, os componentes foram reinstalados através do ACBrInstall_Trunk2?

Pois após carregar o XML, o componente checa se esta assinado ou não, caso não esteja, assina, valida e salva em disco.

Italo, obrigado pela ajuda.

Descobri que o problema é que nós usamos o Delphi 2007 e a própria instalação diz não ser mais compatível.

Obrigado.

Postado
4 horas atrás, Italo Jurisato Junior disse:

Diego,

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

Se sim, os componentes foram reinstalados através do ACBrInstall_Trunk2?

Pois após carregar o XML, o componente checa se esta assinado ou não, caso não esteja, assina, valida e salva em disco.

Italo, verifiquei aqui que eu não conseguia instalar porque não tinha o FortesReport instalado. Agora consegui fazer a instalação completa dos componentes.

Mesmo assim continua não gerando o arquivo assinado quando carrego o XML no programa exemplo.

Postado
Em 26/06/2018 at 09:09, Italo Jurisato Junior disse:

Bom dia Diego,

Tenta com esse outro XML em anexo.

teste3_alterado.xml

Bom dia Italo

Consegui gerar um arquivo válido baseado neste que você pasou como exemplo. Ao fazer o LoadFromFile o programa retorna dois erros:
"Falha ao localizar o nó de Assinatura" e "Falha da validação dos dados do evento: evtInfoEmpregador-v02_04_02.

Só que mesmo com esses erros ele gera dois arquivos, o evtInfoEmpregador.xml e o evtInfoEmpregador-v02_04_02_error.xml, e os dois com a assinatura.
O mais interessante é que fiz o teste de envio com o evtInfoEmpregador.xml e retornou "Sucesso".

Obrigado pela ajuda.

  • Consultores
Postado

Bom dia Diego,

O erro: Falha ao localizar o nó de assinatura é normal uma vez que você esta executando a aplicação através do Delphi, basta clicar no botão continuar.

Já o erro de falha de validação é preciso saber o que de errado no XML, tag faltando, tag com nome errado, tag fora do lugar ou valor da tag incorreto.

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

  • 3 semanas depois ...
Postado (editado)
Em 27/06/2018 at 10:33, Italo Jurisato Junior disse:

Bom dia Diego,

O erro: Falha ao localizar o nó de assinatura é normal uma vez que você esta executando a aplicação através do Delphi, basta clicar no botão continuar.

Já o erro de falha de validação é preciso saber o que de errado no XML, tag faltando, tag com nome errado, tag fora do lugar ou valor da tag incorreto.

Bom dia Italo,

Fiz uns testes aqui e notei algumas coisas. Gostaria que me ajudasse a entender pra que eu possa fazer as correções necessárias.
Como comentei antes, quando passo o arquivo contendo somente o evento InfoEmpregador (sem a tag de assinatura) ele retorna o erro "Falha da validação dos dados do evento: evtInfoEmpregador-v02_04_02    Erro: Schema inválido.", gera dois arquivos o evtInfoEmpregador.xml e o evtInfoEmpregador-v02_04_02_error.xml, e os dois com a assinatura.

Só que eu fiz um teste aqui hoje com o mesmo arquivo só que adicionando a tag de assinatura vazia e não retorna nenhum erro e gera o arquivo -S-1000-0.xml que é exatamente igual ao que eu informei. Se puder me ajudar com alguma informação sobre isso agradeço.

Obs: Anexo o teste1.xml que é o arquivo sem a tag de assinatura e o teste2.xml que é o mesmo que o teste1.xml só que com a tag de assinatura adicionada.

teste1.xml

teste2.xml

Editado por Diego Guima
Postado
17 horas atrás, Italo Jurisato Junior disse:

Boa noite Diego,

O problema do seu XML é dentro do grupo <InfoComplementares> só pode conter o grupo <situacaoPJ> ou <situacaoPF>.

O seu contem os dois e isso esta ocorrendo o erro de validação.

Na verdade só tem o <situacaoPJ>, nos dois arquivos que passei.

Postado

Boa tarde @Diego Guima!

Quando você carrega o xml, primeiro é feito a assinatura e depois a validação contra o schema. Por isso os dois xml's estavam assinados, mas repare que no xml evtInfoEmpregador-v02_04_02_error.xml, você vai encontrar o erro da validação no final do arquivo.

Ao importar um xml que tenha a tag signature não será feito a assinatura e validação. Como o carregamento não é feito de forma completa o xml salvo (-S-1000-0.xml) é exatamente o mesmo que foi carregado.

Postado (editado)
22 horas atrás, Italo Jurisato Junior disse:

Bom dia Diego,

Peguei o XML teste1 que você anexou e usei o programa exemplo do eSocial, carreguei o XML usando o botão [Carregar XML].

O XML foi carregado, assinado e validado sem nenhum problema.

Bom dia Italo, 

Eu estou começando a acreditar que eu não configurei os esquemas de maneira correta pois quando tento fazer o mesmo que você com o mesmo arquivo e com o projeto atualizado recebo o mesmo erro que aparece no meu projeto. (Anexo : Erro.jpg)

Erro.thumb.JPG.bd206472a671dfbbeb79e2b9c45c62e9.JPG

Os meus arquivos de esquemas estão no diretório 'D:\Projetos\Delphi\eSocial\Schemas\v02_04_02' e estão como no anexo (Esquemas.jpg). Há algo que precisa ser alterado ou reconfigurado ?

Esquemas.thumb.JPG.8872ca823034a73c89e3503c7afd2418.JPG

Em 16/07/2018 at 17:36, Patrick Alves disse:

Boa tarde @Diego Guima!

Quando você carrega o xml, primeiro é feito a assinatura e depois a validação contra o schema. Por isso os dois xml's estavam assinados, mas repare que no xml evtInfoEmpregador-v02_04_02_error.xml, você vai encontrar o erro da validação no final do arquivo.

Ao importar um xml que tenha a tag signature não será feito a assinatura e validação. Como o carregamento não é feito de forma completa o xml salvo (-S-1000-0.xml) é exatamente o mesmo que foi carregado.

Bom dia Patrick, 

O erro que aparece dentro do xml evtInfoEmpregador-v02_04_02_error.xml é o do anexo evtInfoEmpregador-ret-erro. Acerdito que o problema seja o que comentei acima.evtInfoEmpregador-ret-erro.thumb.JPG.7bc4e4d233a81a18f42051c4b6de1bb7.JPG

Editado por Diego Guima
Postado

Boa noite @Diego Guima,

O problema está nos schemas mesmo, tente apontar o caminho dos arquivos para: "ACBr\Exemplos\ACBrDFe\Schemas\eSocial".

Acredito que sua pasta está faltando arquivos, pela imagem, só tem 46 arquivos, na pasta do ACBr tem 97. Acho que você só copiou os arquivos referentes a versão 02_04_02, mas lá existem outros arquivos necessários. No seu caso caso acho que é o "xmldsig-core-schema.xsd" que não está presente.

Postado
22 horas atrás, Patrick Alves disse:

Boa noite @Diego Guima,

O problema está nos schemas mesmo, tente apontar o caminho dos arquivos para: "ACBr\Exemplos\ACBrDFe\Schemas\eSocial".

Acredito que sua pasta está faltando arquivos, pela imagem, só tem 46 arquivos, na pasta do ACBr tem 97. Acho que você só copiou os arquivos referentes a versão 02_04_02, mas lá existem outros arquivos necessários. No seu caso caso acho que é o "xmldsig-core-schema.xsd" que não está presente.

Patrick, o problema era esse mesmo. Não sei porque tive a "ótima" ideia de usar um diretório meu de esquemas. ?

Muito obrigado a você e ao Italo pela ajuda e atenção. ?

  • 1 mês depois ...
  • Administradores
Postado

Boa tarde @Eduardo Suruagy

Por favor crie um novo tópico dentro da área SAC(para que o SLA seja respeitado) .

Att.

  • Curtir 1
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á 2273 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.