Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro no p.conhecer_operacao_evento #9

Open
DanielFerreiraJorge opened this issue May 21, 2013 · 10 comments
Open

Erro no p.conhecer_operacao_evento #9

DanielFerreiraJorge opened this issue May 21, 2013 · 10 comments

Comments

@DanielFerreiraJorge
Copy link

Olá Ari, tudo bom?

Será que você pode me dar uma mão? Quando eu tento executar o p.conhecer_operacao_evento, eu recebo o seguinte erro do xmlsec:

func=xmlSecTransformXsltInitialize:file=xslt.c:line=106:obj=unknown:subj=g_xslt_default_security_prefs == NULL:error=100:assertion:

func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=463:obj=unknown:subj=dsigCtx->signValueNode == NULL:error=100:assertion:

func=xmlSecDSigCtxSign:file=xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec library function failed:

Erro ao realizar a assinatura do arquivo; status: "0"

O que pode ser isso? Ja conferi todos os dados da requisição, a chave da NF-e está correta, o CNPJ bate com a NF-e e o certificado digital está válido (não está expirado) e a senha do certificado está correta!

Obrigado!

@aricaldeira
Copy link
Owner

Era terça-feira, 21 de maio de 2013, 09:50, e Daniel Ferreira Jorge me
escreveu:

Olá Ari, tudo bom?

Será que você pode me dar uma mão? Quando eu tento executar o
p.conhecer_operacao_evento, eu recebo o seguinte erro do xmlsec:

func=xmlSecTransformXsltInitialize:file=xslt.c:line=106:obj=unknown:subj=g_x
slt_default_security_prefs == NULL:error=100:assertion:

func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=463:obj=unknown:s
ubj=dsigCtx->signValueNode == NULL:error=100:assertion:

func=xmlSecDSigCtxSign:file=xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCt
xSigantureProcessNode:error=1:xmlsec library function failed:

Erro ao realizar a assinatura do arquivo; status: "0"

O que pode ser isso? Ja conferi todos os dados da requisição, a chave da
NF-e está correta, o CNPJ bate com a NF-e e o certificado digital está
válido (não está expirado) e a senha do certificado está correta!

Obrigado!

Daniel,

Tudo bem?

O erro está na assinatura do xml que está sendo enviado à SEFAZ.

Na função conhecer_operacao_evento(chave_nfe='', cnpj='')

a chave_nfe é a chave da NF-e cuja operação você está dando conhecimento à
SEFAZ, e o cnpj é o cnpj da sua empresa, não da empresa emissora da NF-e.

Você está tendo problemas de assinatura em outros eventos, ou na emissão da
NF-e?

Aristides Caldeira
Taŭga Tecnologia
(15) 3411-0602

@DanielFerreiraJorge
Copy link
Author

Olá Ari, muito obricado pela resposta.

Exatamente, estou utilizando o CNPJ da minha empresa, que é o mesmo do certificado digital (correspondente ao campo dest->CNPJ no xml) e a chave de 44 digitos da NF-e que recebi de nosso fornecedor. É a primeira vez que estou tentando utilizar alguma coisa que necessite de assinatura. O que venho utilizando é o NFeConsultaDest todo dia e funciona perfeitamente.

Você tem alguma ideia do que pode estar acontecendo? Estou utilizando uma versao um pouco mais antiga do PySPED, de uns 8 meses atrás. Tentei também baixar a master, mas daí nada funciona e tenho um erro diferente:

File "/home/sistema/importador.py", line 65, in module
from pysped.nfe import ProcessadorNFe
File "/home/sistema/pysped/init.py", line 42, in module
from .nfe import *
File "/home/sistema/pysped/nfe/init.py", line 43, in module
from .processador_nfe import ProcessadorNFe, DANFE, Certificado
File "/home/sistema/pysped/nfe/processador_nfe.py", line 64, in module
from leiaute import SOAPEnvio_110, SOAPRetorno_110
File "/home/sistema/pysped/nfe/leiaute/init.py", line 198, in module
from conscad_200 import ConsCad as ConsCad_200
File "/home/sistema/pysped/nfe/leiaute/conscad_200.py", line 61, in module
class InfCadRecebido(conscad_101.InfCadRecebido):

Valeu!

@aricaldeira
Copy link
Owner

Era terça-feira, 21 de maio de 2013, 11:08, e Daniel Ferreira Jorge me
escreveu:

Olá Ari, muito obricado pela resposta.

Exatamente, estou utilizando o CNPJ da minha empresa, que é o mesmo do
certificado digital (correspondente ao campo no xml) e a chave
de 44 digitos da NF-e que recebi de nosso fornecedor. É a primeira vez que
estou tentando utilizar alguma coisa que necessite de assinatura. O que
venho utilizando é o NFeConsultaDest todo dia e funciona perfeitamente.

Ok, bom, todos os eventos são assinados antes de serem enviados, e a
assinatura é feita pela biblioteca xmlsec, o erro que você viu antes vem dela,
é uma biblioteca em si, os bindings para ela são o pyxmlsec.

Não conheço C, senão poderia saber o que exatamente está causando esse erro.

Qual versão de Python você está usando? Versão do xmlsec, pyxmlsec? Houve
alguma atualização recentemente?

Lembro que algumas bibliotecas em C tinham que ser recompiladas quando a glibc
atualizava, ou algo assim.

Você tem alguma ideia do que pode estar acontecendo? Estou utilizando uma
versao um pouco mais antiga do PySPED, de uns 8 meses atrás. Tentei também
baixar a master, mas daí nada funciona e tenho um erro diferente:

File "/home/sistema/importador.py", line 65, in
from pysped2.nfe import ProcessadorNFe
File "/home/sistema/pysped/init.py", line 42, in
from .nfe import *
File "/home/sistema/pysped/nfe/init.py", line 43, in
from .processador_nfe import ProcessadorNFe, DANFE, Certificado
File "/home/sistema/pysped/nfe/processador_nfe.py", line 64, in
from leiaute import SOAPEnvio_110, SOAPRetorno_110
File "/home/sistema/pysped/nfe/leiaute/init.py", line 198, in
from conscad_200 import ConsCad as ConsCad_200
File "/home/sistema/pysped/nfe/leiaute/conscad_200.py", line 61, in
class InfCadRecebido(conscad_101.InfCadRecebido):

Tenta dar um clone no repositório como está hoje, e veja que no
processador_nfe.py há import da pysped.xml_sped, então, não dá pra ter 2
versões da pysped ao mesmo tempo na máquina.

Faz um becape da versão que você estava usando, e usa a versão atual do
github, e vamos ficar de olho no xmlsec e ver o que acontece.

Aristides Caldeira
Taŭga Tecnologia
(15) 3411-0602

@alanjds
Copy link
Collaborator

alanjds commented May 21, 2013

Você pode usar o virtualenv (http://www.virtualenv.org/en/latest/) para
instalar múltiplas versões do Python ou de pacotes em teste, sem conflitar.
No começo é meio confuso usa-lo, mas é a melhor prática para
desenvolvimento, pelo menos por enquanto.


Alan Justino da Silva
* Cel: +55 11 99822-5769


Em 21 de maio de 2013 15:23, Aristides Caldeira
[email protected]:

Era terça-feira, 21 de maio de 2013, 11:08, e Daniel Ferreira Jorge me
escreveu:

Olá Ari, muito obricado pela resposta.

Exatamente, estou utilizando o CNPJ da minha empresa, que é o mesmo do
certificado digital (correspondente ao campo no xml) e a
chave
de 44 digitos da NF-e que recebi de nosso fornecedor. É a primeira vez
que
estou tentando utilizar alguma coisa que necessite de assinatura. O que
venho utilizando é o NFeConsultaDest todo dia e funciona perfeitamente.

Ok, bom, todos os eventos são assinados antes de serem enviados, e a
assinatura é feita pela biblioteca xmlsec, o erro que você viu antes vem
dela,
é uma biblioteca em si, os bindings para ela são o pyxmlsec.

Não conheço C, senão poderia saber o que exatamente está causando esse
erro.

Qual versão de Python você está usando? Versão do xmlsec, pyxmlsec? Houve
alguma atualização recentemente?

Lembro que algumas bibliotecas em C tinham que ser recompiladas quando a
glibc
atualizava, ou algo assim.

Você tem alguma ideia do que pode estar acontecendo? Estou utilizando
uma
versao um pouco mais antiga do PySPED, de uns 8 meses atrás. Tentei
também
baixar a master, mas daí nada funciona e tenho um erro diferente:

File "/home/sistema/importador.py", line 65, in
from pysped2.nfe import ProcessadorNFe
File "/home/sistema/pysped/init.py", line 42, in
from .nfe import *
File "/home/sistema/pysped/nfe/init.py", line 43, in
from .processador_nfe import ProcessadorNFe, DANFE, Certificado
File "/home/sistema/pysped/nfe/processador_nfe.py", line 64, in
from leiaute import SOAPEnvio_110, SOAPRetorno_110
File "/home/sistema/pysped/nfe/leiaute/init.py", line 198, in

from conscad_200 import ConsCad as ConsCad_200
File "/home/sistema/pysped/nfe/leiaute/conscad_200.py", line 61, in
class InfCadRecebido(conscad_101.InfCadRecebido):

Tenta dar um clone no repositório como está hoje, e veja que no
processador_nfe.py há import da pysped.xml_sped, então, não dá pra ter 2
versões da pysped ao mesmo tempo na máquina.

Faz um becape da versão que você estava usando, e usa a versão atual do
github, e vamos ficar de olho no xmlsec e ver o que acontece.

Aristides Caldeira
Taŭga Tecnologia
(15) 3411-0602

Reply to this email directly or view it on GitHubhttps://github.com//issues/9#issuecomment-18227117
.

@aricaldeira
Copy link
Owner

Era terça-feira, 21 de maio de 2013, 11:45, e Alan Justino da Silva me
escreveu:

Você pode usar o virtualenv (http://www.virtualenv.org/en/latest/) para
instalar múltiplas versões do Python ou de pacotes em teste, sem conflitar.
No começo é meio confuso usa-lo, mas é a melhor prática para
desenvolvimento, pelo menos por enquanto.

rsrs, verdade, eu mesmo não peguei o jeito, ainda mais com bibliotecas em C
misturadas.

Aristides Caldeira
Taŭga Tecnologia
(15) 3411-0602

@DanielFerreiraJorge
Copy link
Author

Obrigado pelas respostas!

Clonei o repo atual e criei um virtualenv mas continua dando o mesmo erro original de assinatura do xml, mesmo com a versão atual do PySPED.

Alguma sugestão do que pode ser isso?

obrigado!

@aricaldeira
Copy link
Owner

Era terça-feira, 21 de maio de 2013, 12:23, e Daniel Ferreira Jorge me
escreveu:

Obrigado pelas respostas!

Clonei o repo atual e criei um virtualenv mas continua dando o mesmo erro
original de assinatura do xml, mesmo com a versão atual do PySPED.

Alguma sugestão do que pode ser isso?

Se é o mesmo erro de antes, continua sendo na lib xmlsec.

Qual SO você usa? Versão? Instalou a xmlsec manualmente ou via algum
repositório?

Experimenta reinstalar a libxmlsec ou recompilar, se for o caso, e reinstalar
a pyxmlsec por via das dúvidas.

Aristides Caldeira
Taŭga Tecnologia
(15) 3411-0602

@DanielFerreiraJorge
Copy link
Author

Entendi... vou tentar isso. Muito obrigado Ari e Alan pela ajuda!

@daniel-hartmann
Copy link
Contributor

Funcionou?

Pra instalar o pyxmlsec:

wget http://labs.libre-entreprise.org/download.php/430/pyxmlsec-0.3.0.tar.gz
tar xvzf pyxmlsec-0.3.0.tar.gz
cd pyxmlsec-0.3.0

Diff:
--- pyxmlsec-0.3.0/setup.py 2006-01-01 15:43:37.000000000 -0200
+++ pyxmlsec-0.3.0/setup.py 2009-11-10 17:57:29.390253522 -0200
@@ -182,7 +182,8 @@
define_macros = define_macros,
include_dirs = include_dirs,
library_dirs = library_dirs,

  •           libraries     = libraries
    
  •           libraries     = libraries,
    
  •           extra_compile_args = ['-DXMLSEC_NO_SIZE_T']
            )
    

virtual_env/bin/python setup.py install

@DanielFerreiraJorge
Copy link
Author

Opa, funcionou sim!

Mas eu instalei o pyxmlsec do repo do aricaldeira: https://github.com/aricaldeira/pyxmlsec que eu acho que já tem esse patch!

Obrigado a todos pelo tempo que disponibilizaram para me ajudar!
Abraços!

aricaldeira pushed a commit that referenced this issue Mar 29, 2017
Inserido campo Valor estimado dos tributos nas linhas da danfe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants