Skip to content

Commit

Permalink
Decoupling error handling for Document Creation Fixes AuthorizeNet#148
Browse files Browse the repository at this point in the history
  • Loading branch information
elyak123 committed Sep 10, 2021
1 parent 11f5f69 commit c3e9b6c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
9 changes: 7 additions & 2 deletions authorizenet/apicontrollersbase.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,13 +143,18 @@ def execute(self):
self._httpResponse = self._httpResponse.text[3:] #strip BOM
self.afterexecute()
try:
self._response = apicontractsv1.CreateFromDocument(self._httpResponse)
self._response = apicontractsv1.CreateFromDocument(self._httpResponse)
except (pyxb.exceptions_.PyXBException, pyxb.exceptions_.PyXBError) as e:
error_details = e.details()
raise e(
'Validation Error Creating Document: At %s, with Arguments: %s, details:',
type(e), e.args, str(error_details))
try:
#objectify code
xmlResponse= self._response.toxml(encoding=constants.xml_encoding, element_name=self.getrequesttype())
xmlResponse = xmlResponse.replace(constants.nsNamespace1, b'')
xmlResponse = xmlResponse.replace(constants.nsNamespace2, b'')
self._mainObject = objectify.fromstring(xmlResponse)

except Exception as objectifyexception:
anetLogger.error( 'Create Document Exception: %s, %s', type(objectifyexception), objectifyexception.args )
responseString = self._httpResponse
Expand Down
9 changes: 8 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
[metadata]
description-file = DESCRIPTION.rst
description-file = DESCRIPTION.rst
[flake8]
max-line-length = 120
exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules

[pycodestyle]
max-line-length = 120
exclude=.tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules

0 comments on commit c3e9b6c

Please sign in to comment.