fix(xpd_tu_factura): se verifica si el status_code de la respuesta es diferente de 200

parent dfa9cd39
......@@ -78,6 +78,14 @@ class ParamsPac(models.Model):
"Content-Type": "text/xml;charset=UTF-8",
}
@classmethod
def validate_response(cls, soap_response):
"""if response.status_code not 200 then raise Exception"""
if str(soap_response.status_code) not in "200":
raise Exception("Bad response: " + str(soap_response.status_code) +
"," +
soap_response.content)
@api.one
def sign_file(self, fdata=None):
"""
......@@ -103,12 +111,14 @@ class ParamsPac(models.Model):
try:
# Timbrar factura
response = s.send(prepped, timeout=TIMEOUT)
res = xmltodict.parse(response.text)
_logger.debug(res)
except Exception as e:
# Error al establecer comunicación con el PAC
_logger.debug(e)
raise e
else:
self.validate_response(response)
res = xmltodict.parse(response.text)
_logger.debug(res)
# Procesar los resultados obtenidos del PAC
try:
resultado = res["soapenv:Envelope"]["soapenv:Body"]["ser:timbrarResponse"][
......@@ -184,12 +194,15 @@ class ParamsPac(models.Model):
try:
# Timbrar factura
response = s.send(prepped, timeout=TIMEOUT)
res = xmltodict.parse(response.text)
_logger.debug(res)
except Exception as e:
# Error al establecer comunicación con el PAC
_logger.debug(e)
raise e
else:
self.validate_response(response)
res = xmltodict.parse(response.text)
_logger.debug(res)
# Procesar los resultados obtenidos del PAC
try:
resultado = res["soapenv:Envelope"]["soapenv:Body"][
......@@ -250,12 +263,15 @@ class ParamsPac(models.Model):
try:
# Timbrar factura
response = s.send(prepped, timeout=TIMEOUT)
res = xmltodict.parse(response.text)
_logger.debug(res)
except Exception as e:
# Error al establecer comunicación con el PAC
_logger.debug(e)
raise e
else:
self.validate_response(response)
_logger.debug(response.text)
res = xmltodict.parse(response.text)
_logger.debug(res)
# Procesar los resultados obtenidos del PAC
try:
resultado = res["soapenv:Envelope"]["soapenv:Body"][
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment