Ir para conteúdo
  • Cadastre-se

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...