Suds没有缓存wsdls

时间:2012-07-21 01:36:32

标签: suds

我通过SOAP使用Suds进行RPC调用,客户端拒绝在调用之间进行缓存(导致等待客户端初始化等待30秒以上)。任何人都可以看到除了以下需要做什么才能启用缓存?

client = Client(WSDL_URL)
cache = client.options.cache
cache.setduration(days=10)
cache.setlocation(SUDS_CACHE_LOCATION)

1 个答案:

答案 0 :(得分:0)

这可能是图书馆本身的一个错误。缓存文件需要以二进制模式写入。这可以在cache.py中修复:

1)在FileCache.put()中,更改以下行:

f = self.open(fn, 'w')

f = self.open(fn, 'wb')

2)在FileCache.getf()中,更改以下行:

return self.open(fn)

return self.open(fn, 'rb')

有关详细信息,请参阅:

Suds is not reusing cached WSDLs and XSDs, although I expect it to