diff --git a/pytrustnfe/Servidores.py b/pytrustnfe/Servidores.py index 0b3e28d..8a340fe 100644 --- a/pytrustnfe/Servidores.py +++ b/pytrustnfe/Servidores.py @@ -352,8 +352,8 @@ UFBA = { UFCE = { NFE_AMBIENTE_PRODUCAO: { 'servidor': 'nfe.sefaz.ce.gov.br', - WS_NFE_AUTORIZACAO: 'nfe2/services/NfeRecepcao2', - WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetRecepcao2', + WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao', + WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao', WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2', WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2', @@ -363,8 +363,8 @@ UFCE = { }, NFE_AMBIENTE_HOMOLOGACAO: { 'servidor': 'nfeh.sefaz.ce.gov.br', - WS_NFE_AUTORIZACAO: 'nfe2/services/NfeRecepcao2', - WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetRecepcao2', + WS_NFE_AUTORIZACAO: 'nfe2/services/NfeAutorizacao', + WS_NFE_RET_AUTORIZACAO: 'nfe2/services/NfeRetAutorizacao', WS_NFE_INUTILIZACAO: 'nfe2/services/NfeInutilizacao2', WS_NFE_CONSULTA: 'nfe2/services/NfeConsulta2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2', diff --git a/pytrustnfe/client.py b/pytrustnfe/client.py index 03adbd2..e6e67e3 100644 --- a/pytrustnfe/client.py +++ b/pytrustnfe/client.py @@ -45,19 +45,20 @@ class HttpClient(object): def _headers(self, action, send_raw): if send_raw: return { - 'Content-type': 'text/xml; charset=utf-8; action="http://www.portalfiscal.inf.br/nfe/wsdl/%s"' % action, + 'Content-type': 'text/xml; charset=utf-8;', + 'SOAPAction': "http://www.portalfiscal.inf.br/nfe/wsdl/%s" % action, 'Accept': 'application/soap+xml; charset=utf-8', } return { - 'Content-type': 'application/soap+xml; charset=utf-8; action="http://www.portalfiscal.inf.br/nfe/wsdl/%s"' % action, - 'Accept': 'application/soap+xml; charset=utf-8', + 'Content-type': 'application/soap+xml; charset=utf-8;', + 'SOAPAction': 'http://www.portalfiscal.inf.br/nfe/wsdl/%s' % action, } def post_soap(self, xml_soap, cabecalho, send_raw): header = self._headers(cabecalho.soap_action, send_raw) urllib3.disable_warnings(category=InsecureRequestWarning) - res = requests.post(self.url, data=xml_soap, + res = requests.post(self.url, data=xml_soap.encode('utf-8'), cert=(self.cert_path, self.key_path), verify=False, headers=header) return res.text diff --git a/pytrustnfe/nfe/__init__.py b/pytrustnfe/nfe/__init__.py index bf87674..c903014 100644 --- a/pytrustnfe/nfe/__init__.py +++ b/pytrustnfe/nfe/__init__.py @@ -19,19 +19,21 @@ from pytrustnfe.exceptions import NFeValidationException def _build_header(method, **kwargs): action = { - 'NfeAutorizacao': ('NfeAutorizacao', '3.10'), - 'NfeRetAutorizacao': ('NfeRetAutorizacao', '3.10'), - 'NfeConsultaCadastro': ('CadConsultaCadastro2', '2.00'), - 'NfeInutilizacao': ('NfeInutilizacao2', '3.10'), - 'RecepcaoEventoCancelamento': ('RecepcaoEvento', '1.00'), - 'RecepcaoEventoCarta': ('RecepcaoEvento', '1.00'), - 'NFeDistribuicaoDFe': ('NFeDistribuicaoDFe/nfeDistDFeInteresse', - '1.00'), - 'RecepcaoEventoManifesto': ('RecepcaoEvento', '1.00'), + 'NfeAutorizacao': ('NfeAutorizacao', '3.10', 'NfeAutorizacao/nfeAutorizacaoLote'), + 'NfeRetAutorizacao': ('NfeRetAutorizacao', '3.10', 'NfeRetAutorizacao/nfeRetAutorizacaoLote'), + 'NfeConsultaCadastro': ('CadConsultaCadastro2', '2.00', 'CadConsultaCadastro2/consultaCadastro2'), + 'NfeInutilizacao': ('NfeInutilizacao2', '3.10', 'NfeInutilizacao2/nfeInutilizacaoNF2'), + 'RecepcaoEventoCancelamento': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'), + 'RecepcaoEventoCarta': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'), + 'NFeDistribuicaoDFe': ('NFeDistribuicaoDFe/nfeDistDFeInteresse', '1.00', 'NFeDistribuicaoDFe/nfeDistDFeInteresse'), + 'RecepcaoEventoManifesto': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'), + } + vals = { + 'estado': kwargs['estado'], + 'method': action[method][0], + 'soap_action': action[method][2], + 'versao': action[method][1] } - vals = {'estado': kwargs['estado'], - 'soap_action': action[method][0], - 'versao': action[method][1]} return CabecalhoSoap(**vals) diff --git a/pytrustnfe/nfe/comunicacao.py b/pytrustnfe/nfe/comunicacao.py index df6ba53..34c550e 100644 --- a/pytrustnfe/nfe/comunicacao.py +++ b/pytrustnfe/nfe/comunicacao.py @@ -12,9 +12,9 @@ from ..xml import sanitize_response def _soap_xml(body, cabecalho): xml = '' xml += '' - xml += '' + xml += '' xml += '' + cabecalho.estado + '' + cabecalho.versao + '' - xml += '' + xml += '' xml += body xml += '' return xml.rstrip('\n') diff --git a/pytrustnfe/utils.py b/pytrustnfe/utils.py index c494496..b06fb6e 100644 --- a/pytrustnfe/utils.py +++ b/pytrustnfe/utils.py @@ -13,6 +13,7 @@ class CabecalhoSoap(object): def __init__(self, **kwargs): self.versao = kwargs.pop('versao', '') self.estado = kwargs.pop('estado', '') + self.method = kwargs.pop('method', '') self.soap_action = kwargs.pop('soap_action', '') diff --git a/setup.py b/setup.py index 4f68dcf..8b6eabe 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages -VERSION = "0.9.18" +VERSION = "0.9.19" setup(