Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 完全禁用SUDS模式缓存_Python_Caching_Soap_Suds - Fatal编程技术网

Python 完全禁用SUDS模式缓存

Python 完全禁用SUDS模式缓存,python,caching,soap,suds,Python,Caching,Soap,Suds,我的Web服务器需要从远程SOAP服务请求数据。这种情况很少发生,所以我不希望有任何缓存。事实上,SOAP提供者有时会更改模式并向其添加新参数,因此每次我都必须下载并解析整个模式 我正在使用以下代码: url = 'http://someurl' cli = suds.client.Client(url) cli.set_options(cache=None) return cli 但这仍然有缓存。并创建/tmp/suds中的临时数据。如何完全禁用suds缓存 将cli.set\u optio

我的Web服务器需要从远程SOAP服务请求数据。这种情况很少发生,所以我不希望有任何缓存。事实上,SOAP提供者有时会更改模式并向其添加新参数,因此每次我都必须下载并解析整个模式

我正在使用以下代码:

url = 'http://someurl'
cli = suds.client.Client(url)
cli.set_options(cache=None)
return cli
但这仍然有缓存。并创建/tmp/suds中的临时数据。如何完全禁用suds缓存


cli.set\u options
更改为
.Client(url,cache=None)
是否可以解决此问题?很抱歉,我目前没有能力亲自测试这个问题。

首先,这是一个有点难以确定的答案,因为有多个版本和叉的肥皂水漂浮在周围。目前,fedorahosted的版本看起来没有维护,但我已经看到其他Fork非常活跃(相比之下)

在构造函数中设置缓存选项似乎更好,因为
客户端
实例化一些其他类并传递缓存选项。这意味着以后更改它可能不会对这些其他类产生影响(我没有深入了解代码以确定)

另外,禁用缓存的正确方法似乎是使用

from suds.cache import NoCache
# ...
cli = suds.client.Client(url, cache=NoCache())
因为代码的某些部分没有检查
缓存==None


然而,我不能确定我上面的建议是否会禁用所有缓存,因为我在邮件列表上看到的其他帖子表明,可能很难无条件禁用所有缓存。

首先,这有点难以明确回答,因为有多个版本和多个叉状的肥皂水漂浮在周围。目前,fedorahosted的版本看起来没有维护,但我已经看到其他Fork非常活跃(相比之下)

在构造函数中设置缓存选项似乎更好,因为
客户端
实例化一些其他类并传递缓存选项。这意味着以后更改它可能不会对这些其他类产生影响(我没有深入了解代码以确定)

另外,禁用缓存的正确方法似乎是使用

from suds.cache import NoCache
# ...
cli = suds.client.Client(url, cache=NoCache())
因为代码的某些部分没有检查
缓存==None


但是我不能确定我上面的建议是否会禁用所有缓存,因为我在邮件列表上看到的其他帖子表明,可能很难无条件禁用所有缓存。

谢谢你,菲利克斯,如果有效,我会检查并接受你的回答。顺便说一句,我用的是肥皂水0.4。它没有保养吗?如果你喜欢肥皂水,你最好的选择是。我想谷歌也会根据他们的需要使用一个改良版的肥皂水叉子。无论出于何种原因,fedorahosted suds的维护人员几年来一直处于非活动状态(我很久以前就尝试过ping他们,但没有结果)。谢谢Felix,我会检查这一点,如果有效,我会接受你的回答。顺便说一句,我用的是肥皂水0.4。它没有保养吗?如果你喜欢肥皂水,你最好的选择是。我想谷歌也会根据他们的需要使用一个改良版的肥皂水叉子。无论出于何种原因,fedorahosted suds的维护人员几年来一直处于非活动状态(我很久以前就尝试过ping它们,但没有用)。