Files
microservice/utils/helpers.py

49 lines
2.7 KiB
Python

def soap_error(soap_response): # Testeado
"""
Verifica si la respuesta SOAP no contiene errores.
Args:
soap_response: Respuesta del servicio SOAP
Returns:
bool: True si no hay errores, False en caso contrario
"""
if '<ns2:tieneError>true</ns2:tieneError>' in soap_response.text:
return True
if '<ns3:tieneError>true</ns3:tieneError>' in soap_response.text:
return True
if "<mensaje>El Cove o Adenda no existe, no está firmado o no cuenta con la autorización para consultarlo</mensaje>" in soap_response.text:
return True
if "<mensaje>El Edocumento no existe, no está firmado o no cuenta con la autorización para consultarlo</mensaje>" in soap_response.text:
return True
if "<mensaje>El Pedimento no existe, no está firmado o no cuenta con la autorización para consultarlo</mensaje>" in soap_response.text:
return True
if "<mensaje>El número de operación no existe o no está autorizado para consultarlo</mensaje>" in soap_response.text:
return True
if "<mensaje>El Cove o Adenda no existe, no está firmado o no cuenta con la autorización para consultarlo</mensaje>" in soap_response.text:
return True
if "<ns2:mensaje>No hay información para la búsqueda solicitada</ns2:mensaje>" in soap_response.text:
return True
if "<descripcion>El RFC no tiene relación con el eDocument. </descripcion>" in soap_response.text:
return True
if "<error>Firma Electrónica : El RFC del usuario es distinto al del certificado.</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : Firma inválida</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : El certificado ha expirado.</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : El certificado ha sido revocado.</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : El certificado no es válido.</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : No se encontró el certificado.</error>" in soap_response.text:
return True
if "<error>Firma Electrónica : Error al procesar la firma electrónica.</error>" in soap_response.text:
return True
if "<mensaje>unexpected XML tag. expected: {http://tempuri.org/}ConsultaPartidaResponse but found: {http://tempuri.org/}consultaPedimentoResponse</mensaje>" in soap_response.text:
return True
if "<ns2:mensaje>El valor de [Número de Operacion] es obligatorio</ns2:mensaje>" in soap_response.text:
return True
# Aquí podrías agregar más lógica para verificar errores específicos en el XML
return False