Browse Source

Melhoria na exceção de erros em NFe e timeout

pull/7/head
Leonardo Tada 10 years ago
parent
commit
da7af52105
  1. 14
      pynfe/processamento/comunicacao.py

14
pynfe/processamento/comunicacao.py

@ -344,10 +344,10 @@ class ComunicacaoSefaz(Comunicacao):
def _construir_xml_status_pr(self, cabecalho, metodo, dados): def _construir_xml_status_pr(self, cabecalho, metodo, dados):
u"""Mota o XML para o envio via SOAP""" u"""Mota o XML para o envio via SOAP"""
raiz = etree.Element('{%s}Envelope'%NAMESPACE_SOAP, nsmap={'xsi': NAMESPACE_XSI, 'xsd': NAMESPACE_XSD,'soap': NAMESPACE_SOAP})
c = etree.SubElement(raiz, '{%s}Header'%NAMESPACE_SOAP)
raiz = etree.Element('{%s}Envelope' % NAMESPACE_SOAP, nsmap={'xsi': NAMESPACE_XSI, 'xsd': NAMESPACE_XSD,'soap': NAMESPACE_SOAP})
c = etree.SubElement(raiz, '{%s}Header' % NAMESPACE_SOAP)
c.append(cabecalho) c.append(cabecalho)
body = etree.SubElement(raiz, '{%s}Body'%NAMESPACE_SOAP)
body = etree.SubElement(raiz, '{%s}Body' % NAMESPACE_SOAP)
a = etree.SubElement(body, 'nfeDadosMsg', xmlns=NAMESPACE_METODO+metodo) a = etree.SubElement(body, 'nfeDadosMsg', xmlns=NAMESPACE_METODO+metodo)
a.append(dados) a.append(dados)
return raiz return raiz
@ -365,15 +365,15 @@ class ComunicacaoSefaz(Comunicacao):
chave_cert = (cert, chave) chave_cert = (cert, chave)
# Abre a conexão HTTPS # Abre a conexão HTTPS
try: try:
xml_declaration='<?xml version="1.0" encoding="utf-8"?>'
xml_declaration = '<?xml version="1.0" encoding="utf-8"?>'
xml = etree.tostring(xml, encoding='unicode', pretty_print=False).replace('\n','') xml = etree.tostring(xml, encoding='unicode', pretty_print=False).replace('\n','')
xml = xml_declaration + xml xml = xml_declaration + xml
# Faz o request com o servidor # Faz o request com o servidor
result = requests.post(url, xml, headers=self._post_header(), cert=chave_cert, verify=False)
result.encoding='utf-8'
result = requests.post(url, xml, headers=self._post_header(), cert=chave_cert, verify=False, timeout=120)
result.encoding = 'utf-8'
return result return result
except requests.exceptions.ConnectionError as e:
except requests.exceptions.RequestException as e:
raise e raise e
finally: finally:
certificadoA1.excluir() certificadoA1.excluir()

Loading…
Cancel
Save