我正在尝试使用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')
(python 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结构。如果我能看到它正在接收/尝试解析的内容,我或许能够诊断出问题。
我有gist代码和错误。
奇怪的是,在我的原始脚本中(在我剥离到一些测试代码之前)我有一个辅助日志记录实例和文件处理程序,它工作得很好。所以它似乎特定于pysimplesoap日志记录。
非常感谢任何帮助。
编辑:解决方案
按照KenK的建议,我将方法调用修改为(documentId ='1234567')并且它有效。脚本超过了该错误,我在输出中得到了一些日志/调试行。似乎pysimplesoap只有很少的日志/调试行,在我遇到错误之前没有达到过。
答案 0 :(得分:0)
将以下代码添加到您的代码中:
import logging
logging.basicConfig(level=logging.DEBUG)
要修复您遇到的错误,您需要指定属性名称。像这样:
response = soapClient.getDocumentContent(name='1234567')
将name替换为为此函数定义的任何内容。