在Django视图之间共享SOAP客户端对象

时间:2017-04-12 20:26:46

标签: python django soap suds

我的Django应用程序使用的是一个SOAP服务API。我目前正在使用名为SUDS的python SOAP / WSDL客户端。为了使用API​​,我必须初始化客户端并为其提供指向端点,登录,API密钥和密码的链接。

执行此操作的简化代码:

from suds.client import Client

client = Client('link.to.WSDL.endpoint')
session_id = client.service.a_log_in_service('api_key', 'login', 'password')

# the session_id is required by all other 'client.service.xxx' services

一切正常,但初始化客户端需要一些时间。

现在,每次我想在视图中向API发送请求时,我都必须初始化客户端。我无法通过任何方式分享"分享"许多视图中已经初始化的客户端。让客户端在某个地方启动并运行会很棒,这样任何用户都可以使用它发送API请求。

一旦我在视图中完成了登录,我就可以存储session_id(在会话,db,文件中)并在其他视图中使用它,但客户端仍然需要重新初始化,表示下载200-KB XML文件。

每次用户点击按钮时必须下载200 KB似乎根本不对。 提前谢谢!

0 个答案:

没有答案