Browse Source

Consultar Nfs-e Ginfes completo

pull/7/head
Junior Tada 10 years ago
parent
commit
d6c3077b8d
  1. 4
      pynfe/processamento/assinatura.py
  2. 2
      pynfe/processamento/autorizador_nfse.py
  3. 8
      pynfe/processamento/comunicacao.py

4
pynfe/processamento/assinatura.py

@ -187,7 +187,7 @@ class AssinaturaA1(Assinatura):
try:
xml = etree.fromstring(xml)
# No raiz do XML de saida
tag = 'ConsultarNfseEnvio' # tag que será assinada
tag = 'ns1:ConsultarNfseEnvio' # tag que será assinada
raiz = etree.Element('Signature', xmlns='http://www.w3.org/2000/09/xmldsig#')
siginfo = etree.SubElement(raiz, 'SignedInfo')
etree.SubElement(siginfo, 'CanonicalizationMethod', Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
@ -204,7 +204,7 @@ class AssinaturaA1(Assinatura):
keyinfo = etree.SubElement(raiz, 'KeyInfo')
etree.SubElement(keyinfo, 'X509Data')
consulta = xml.xpath('/ConsultarNfseEnvio', namespaces={'ns1': 'http://www.ginfes.com.br/servico_consultar_nfse_envio_v03.xsd', 'ns2':'http://www.ginfes.com.br/tipos_v03.xsd'})[0]
consulta = xml.xpath('/ns1:ConsultarNfseEnvio', namespaces={'ns1': 'http://www.ginfes.com.br/servico_consultar_nfse_envio_v03.xsd', 'ns2':'http://www.ginfes.com.br/tipos_v03.xsd'})[0]
consulta.append(raiz)
# Escreve no arquivo depois de remover caracteres especiais e parse string

2
pynfe/processamento/autorizador_nfse.py

@ -288,7 +288,7 @@ class SerializacaoGinfes(InterfaceAutorizador):
consulta.PeriodoEmissao.DataInicial = inicio
consulta.PeriodoEmissao.DataFinal = fim
return consulta.toxml(element_name='ConsultarNfseEnvio')
return consulta.toxml(element_name='ns1:ConsultarNfseEnvio')
def cabecalho(self):
# info

8
pynfe/processamento/comunicacao.py

@ -441,7 +441,7 @@ class ComunicacaoNfse(Comunicacao):
def _cabecalho(self, retorna_string=True):
u"""Monta o XML do cabeçalho da requisição wsdl"""
xml_declaration='<?xml version="1.0" encoding="utf-8"?>'
xml_declaration='<?xml version="1.0" encoding="UTF-8"?>'
# cabecalho
raiz = etree.Element('cabecalho', xmlns=self._namespace, versao=self._versao)
@ -495,8 +495,8 @@ class ComunicacaoNfse(Comunicacao):
def _post_https(self, url, xml, metodo):
# cabecalho
#cabecalho = self._cabecalho()
cabecalho = self._cabecalho_ginfes()
cabecalho = self._cabecalho()
#cabecalho = self._cabecalho_ginfes()
# comunicacao wsdl
try:
from suds.client import Client
@ -511,8 +511,6 @@ class ComunicacaoNfse(Comunicacao):
if metodo == 'gerar':
return cliente.service.GerarNfse(cabecalho, xml)
elif metodo == 'consulta':
import ipdb
ipdb.set_trace()
return cliente.service.ConsultarNfseV3(cabecalho, xml)
elif metodo == 'consultaRps':
return cliente.service.ConsultarNfsePorRpsV3(cabecalho, xml)

Loading…
Cancel
Save