无法从pysimplesoap获取任何日志信息

时间:2015-02-13 20:08:50

标签: python logging 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' 

然而,我真正的问题是我正在尝试(不成功)使日志工作,但无法看到任何输出或确定/确认它发送/接收的XML结构。如果我能看到它正在接收/尝试解析的内容,我或许能够诊断出问题。

我有gist代码和错误。

奇怪的是,在我的原始脚本中(在我剥离到一些测试代码之前)我有一个辅助日志记录实例和文件处理程序,它工作得很好。所以它似乎特定于pysimplesoap日志记录。

非常感谢任何帮助。


编辑:解决方案

按照KenK的建议,我将方法调用修改为(documentId ='1234567')并且它有效。脚本超过了该错误,我在输出中得到了一些日志/调试行。似乎pysimplesoap只有很少的日志/调试行,在我遇到错误之前没有达到过。

1 个答案:

答案 0 :(得分:0)

将以下代码添加到您的代码中:

import logging

logging.basicConfig(level=logging.DEBUG)

要修复您遇到的错误,您需要指定属性名称。像这样:

response = soapClient.getDocumentContent(name='1234567')

将name替换为为此函数定义的任何内容。