我的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似乎根本不对。 提前谢谢!