-1

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

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

1 回答 1

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 没有重用缓存的 WSDL 和 XSD,尽管我希望它能够

于 2013-06-09T19:03:48.880 回答