Ishpeck的回应是正确的。我只想补充一些关于Suds内部的东西。
suds客户端是urllib2 HTTP开启者之上的一个大型的抽象层。 HTTP客户端,cookiejar,头文件,请求和响应都存储在transport
对象中。问题是这个活动没有被缓存或存储在传输内部,也许cookiejar内的cookie不一样,甚至跟踪这些活动有时可能会有问题。
如果你想看看发生了什么事情在调试时,我的建议是把它添加到您的代码:通过打开调试日志记录
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG)
Suds makes use of the native logging
module等等,你能看到的所有活动在包括标题,变量,有效载荷,URL等下面执行,这为我节省了大量的时间。
以外的是,如果你真的需要在你的头,以明确地跟踪状态,你将需要创建一个suds.transport.http.HttpTransport
对象的自定义子类和部分过载的默认行为,然后传递到Client
构造。
这里是一个超级过于简单例子:
from suds.transport.http import HttpTransport, Reply, TransportError
from suds.client import Client
class MyTransport(HttpTransport):
# custom stuff done here
mytransport_instance = MyTransport()
myclient = Client(url, transport=mytransport_instance)
你是问有关Python库SOAP一般建议,或者是你寻求帮助的泡沫的一个具体方面?请尝试提出具体问题。 – 2010-03-11 14:11:29