我試圖使用使用Python suds的SOAP web服務,但我收到錯誤「RuntimeError:調用Python對象時超出最大遞歸深度」 。Python suds「RuntimeError:調用Python對象時超出最大遞歸深度」
據跟蹤,還有在「泡沫/裝訂/ multiref.py」,行69
我試圖訪問該Web服務http://www.reactome.org:8080/caBIOWebApp/services/caBIOService?wsdl無限遞歸。
我試圖訪問的方法是loadPathwayForId。
這裏的消耗Web服務我的代碼的一部分:
from suds.client import Client
client = Client('http://www.reactome.org:8080/caBIOWebApp/services/caBIOService?wsdl')
pathway = client.service.loadPathwayForId(2470946)
我不知道什麼是負責的無限遞歸。我試圖查找這個問題,並且有關於泡沫和無限遞歸問題的報告,但是跟蹤與我的不同(遞歸代碼不同),所以我懷疑我的問題有其他原因。
完整的跟蹤:
File "C:\Python27\lib\suds\bindings\multiref.py", line 69, in update
self.update(c)
File "C:\Python27\lib\suds\bindings\multiref.py", line 69, in update
self.update(c)
...
File "C:\Python27\lib\suds\bindings\multiref.py", line 69, in update
self.update(c)
File "C:\Python27\lib\suds\bindings\multiref.py", line 69, in update
self.update(c)
File "C:\Python27\lib\suds\bindings\multiref.py", line 67, in update
self.replace_references(node)
File "C:\Python27\lib\suds\bindings\multiref.py", line 80, in replace_references
href = node.getAttribute('href')
File "C:\Python27\lib\suds\sax\element.py", line 404, in getAttribute
prefix, name = splitPrefix(name)
File "C:\Python27\lib\suds\sax\__init__.py", line 49, in splitPrefix
if isinstance(name, basestring) \
RuntimeError: maximum recursion depth exceeded while calling a Python object
在此先感謝您的幫助!
複製粘貼完整代碼追蹤,請 – zen11625