Delphi XE4 - XML - Assinatura
Olá, estou criando a mesma função no Delphi XE4, sem o uso do FireMonkey, porém, quando tento fazer a Assinatura do XML estou recebendo o seguinte erro "The signature property must be set before calling this method". O erro da na linha " AssinaturaXML.store := MemoriaStore;". O que poderia ser ?
Link original - Revista ClubeDelphi 139 - Parte 2 Clube Delphi 139
Link original - Revista ClubeDelphi 139 - Parte 2 Clube Delphi 139
Thairony Holz
Curtidas 1
Melhor post
Flex Ltda
29/10/2014
Dae fera blza?
conseguiu resolver esse problema?
conseguiu resolver esse problema?
GOSTEI 1
Mais Respostas
Thiago Silva
04/12/2013
Tenho o mesmo problema, mas parece que ninguém nunca resolveu, não é? :-(
GOSTEI 0
Luiz Menin
04/12/2013
Tenta colocar as seguintes DLL's na pasta C:\Windows\System32:
- msxml2.dll
- msxml2r.dll
- msxml5.dll
- msxml5r.dll
- msxml6.dll
- msxml6r.dll
- Capicom.dll
Agora acesse o Prompt de Comando como Administrador e registre as dlls utilizando o comando "regsvr32".
- msxml2.dll
- msxml2r.dll
- msxml5.dll
- msxml5r.dll
- msxml6.dll
- msxml6r.dll
- Capicom.dll
Agora acesse o Prompt de Comando como Administrador e registre as dlls utilizando o comando "regsvr32".
GOSTEI 1
Thiago Silva
04/12/2013
Então, fiz isso e ainda continua dando o mesmo erro, nessa linda AssinaturaXML.store := MemoriaStore;
Erro:
The signature property must be set before calling this method
Erro:
The signature property must be set before calling this method
GOSTEI 0
Luiz Menin
04/12/2013
Você está chamando a função de selecionar o certificado antes de assinar?
Isso seria um "pré-requisito".
Isso seria um "pré-requisito".
GOSTEI 0
Thiago Silva
04/12/2013
Sim, não alterei em nada o código do exemplo do site. Consigo escolher o certificado.
GOSTEI 0
Luiz Menin
04/12/2013
Eu já passei por esse erro, tenho certeza, pois essa mensagem não me é estranha.
Porém, não consigo lembrar o que foi feito para solucionar.
Peço desculpa pelos "chutes".
Assim que eu lembrar eu volto aqui...
Porém, não consigo lembrar o que foi feito para solucionar.
Peço desculpa pelos "chutes".
Assim que eu lembrar eu volto aqui...
GOSTEI 0
Thiago Silva
04/12/2013
Tudo bem amigo, enquanto isso vou pesquisar mais! obrigado pela ajuda.
GOSTEI 0
Rodrigo Traleski
04/12/2013
Pessoal, alguém conseguiu resolver este problema? Estou usando o Delphi 7. Pelo oq consegui debugar o LoadXML do DocumentDOM não carrega nada. Por isso não consigo achar a tag signature. Deve ser o mesmo problema do colega. Estou usando o Windows 7 64 bits. Será que é este o problema?
GOSTEI 0
Diego Freitas
04/12/2013
Galera, alguém resolveu isso?! Estou com o mesmo problema até agora.
GOSTEI 0
Ronn
04/12/2013
The postings on your site are always excellent. Thanks for the great share and keep up this great work! [url=http://fivenightsatfreddys-4.com/] five nights at freddy’s 4[/url]
GOSTEI 0
Diego Freitas
04/12/2013
Olá pessoal, estou com o mesmo problema dando "The signature property must be set before calling this method".
Alguém conseguiu resolver e pode me ajudar?
Alguém conseguiu resolver e pode me ajudar?
GOSTEI 0
Diego Freitas
04/12/2013
Pelo jeito estamos às moscas né?! Ninguém responde. Provavelmente perdemos nosso tempo assinando a DEV e lendo este artigo!
GOSTEI 0
Jonatas Alves
04/12/2013
Olá,
Tive este mesmo problema, e descobri que o motivo do erro é alguma inconsistência na estrutura do arquivo '.xml' que foi submetido para análise.
por exemplo:
submeti um arquivo '.xml' cujo o nó 'infNFe' estava com esta string no valor aninhado:
ao executar a rotina 'AssinarNFe', foi apresentada esta mensagem
posteriormente, submeti outro arquivo, porém neste o nó 'infNFe' apresentava o nó aninhado com a seguinte informação:
ao executar a rotina 'AssinarNFe', o resultado foi um sucesso.
Conclusão:
o campo 'id=' tem que referenciar exatamente 47 caracteres, se este número variar, automaticamente ocorre o erro mencionado acima.
espero ter ajudado.
Tive este mesmo problema, e descobri que o motivo do erro é alguma inconsistência na estrutura do arquivo '.xml' que foi submetido para análise.
por exemplo:
submeti um arquivo '.xml' cujo o nó 'infNFe' estava com esta string no valor aninhado:
Id="NFe3508059978"
ao executar a rotina 'AssinarNFe', foi apresentada esta mensagem
The signature property must be set before calling this method
posteriormente, submeti outro arquivo, porém neste o nó 'infNFe' apresentava o nó aninhado com a seguinte informação:
Id="NFe33170302241779000162550040000004801000004800"
ao executar a rotina 'AssinarNFe', o resultado foi um sucesso.
Conclusão:
o campo 'id=' tem que referenciar exatamente 47 caracteres, se este número variar, automaticamente ocorre o erro mencionado acima.
espero ter ajudado.
GOSTEI 0