0009-wip-convert-soap-Fault-to-json.patch
passerelle/apps/soap/models.py | ||
---|---|---|
30 | 30 |
from passerelle.utils.api import endpoint |
31 | 31 |
from passerelle.utils.conversion import exception_to_text |
32 | 32 |
from passerelle.utils.json import unflatten |
33 |
from passerelle.utils.jsonresponse import APIError |
|
33 | 34 | |
34 | 35 | |
35 | 36 |
class SOAPConnector(BaseResource, HTTPResource): |
... | ... | |
115 | 116 |
payload = unflatten(payload) |
116 | 117 |
try: |
117 | 118 |
soap_response = getattr(self.client.service, method_name)(**payload) |
119 |
except zeep.exceptions.Fault as e: |
|
120 |
fault_details = {} |
|
121 |
for attrib in ['actor', 'code', 'message', 'subcode']: |
|
122 |
fault_details[attrib] = getattr(e, attrib, None) |
|
123 |
raise APIError('soap:Fault', data=fault_details) |
|
118 | 124 |
except zeep.exceptions.ValidationError as e: |
119 | 125 |
e.status_code = 400 |
120 | 126 |
raise e |
121 |
- |