无法从 pysimplesoap 获取任何日志信息
Cannot get any log information from pysimplesoap
我正在尝试使用 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'
然而,我真正的问题是我正在尝试(未成功)让日志记录工作,但看不到任何输出或 determine/confirm 它是什么 XML 结构 sending/receiving.如果我能看到要解析的内容 receiving/trying,我也许能够诊断出问题。
我有一个 gist 代码和我遇到的错误。
奇怪的是,在我的原始脚本中(在我精简为一些测试代码之前)我有一个辅助日志记录实例和文件处理程序,它工作得很好。所以它似乎特定于 pysimplesoap 日志记录。
如有任何帮助,我们将不胜感激。
编辑:解决方案
根据 KenK 的建议,我将方法调用修改为 (documentId='1234567') 并且成功了。脚本通过了那个错误,我在输出中得到了一些 log/debug 行。似乎 pysimplesoap 的 log/debug 行太少,以至于 none 在我遇到错误之前已经达到。
将以下代码添加到您的代码中:
import logging
logging.basicConfig(level=logging.DEBUG)
要修复您收到的错误,您需要指定一个属性名称。像这样:
response = soapClient.getDocumentContent(name='1234567')
用为此函数定义的任何内容替换名称。
我正在尝试使用 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'
然而,我真正的问题是我正在尝试(未成功)让日志记录工作,但看不到任何输出或 determine/confirm 它是什么 XML 结构 sending/receiving.如果我能看到要解析的内容 receiving/trying,我也许能够诊断出问题。
我有一个 gist 代码和我遇到的错误。
奇怪的是,在我的原始脚本中(在我精简为一些测试代码之前)我有一个辅助日志记录实例和文件处理程序,它工作得很好。所以它似乎特定于 pysimplesoap 日志记录。
如有任何帮助,我们将不胜感激。
编辑:解决方案
根据 KenK 的建议,我将方法调用修改为 (documentId='1234567') 并且成功了。脚本通过了那个错误,我在输出中得到了一些 log/debug 行。似乎 pysimplesoap 的 log/debug 行太少,以至于 none 在我遇到错误之前已经达到。
将以下代码添加到您的代码中:
import logging
logging.basicConfig(level=logging.DEBUG)
要修复您收到的错误,您需要指定一个属性名称。像这样:
response = soapClient.getDocumentContent(name='1234567')
用为此函数定义的任何内容替换名称。