我正在尝试使用 pysimplesoap (v.1.10) 并在执行方法请求时得到似乎是某种解析错误。
精简版:
import pysimplesoap
soapURL = "https://site/path/to/soap"
namespace = "https://site/path/to/ns"
soapClient = pysimplesoap.client.SoapClient(location=soapURL + "?wsdl",namespace=namespace)
response = soapClient.getDocumentContent('1234567')
(蟒蛇2.7.8顺便说一句)
导致错误:
Traceback (most recent call last):
File ".\SOAPtest2.py", line 60, in <module>
response = soapClient.getDocumentContent('1234567')
File "build\bdist.win32\egg\pysimplesoap\client.py", line 139, in <lambda>
AttributeError: 'str' object has no attribute 'call'
但是,我真正的问题是我正在尝试(未成功)使日志记录正常工作,但看不到任何输出或确定/确认它正在发送/接收的 XML 结构。如果我能看到它正在接收/试图解析什么,我也许能够诊断出问题。
我有代码的要点以及我遇到的错误。
奇怪的是,在我的原始脚本中(在我简化为一些测试代码之前)我有一个辅助日志记录实例和文件处理程序,它工作得很好。所以它似乎特定于 pysimplesoap 日志记录。
任何帮助将不胜感激。
编辑:解决方案
根据 KenK 的建议,我将方法调用修改为 (documentId='1234567') 并且它有效。脚本克服了那个错误,我在输出中得到了一些日志/调试行。似乎 pysimplesoap 的日志/调试行太少了,以至于在我遇到错误之前都没有到达。