我正在使用这个npm包: https://www.npmjs.com/package/soap
我在文档中找不到答案,因为我想知道SOAP客户端的最佳实践是创建单个客户端作为启动并用于所有请求(类似于数据库客户端),还是创建一个每个请求新的。
答案 0 :(得分:2)
这取决于您的使用案例和应用程序要求。
在阅读node-soap
的代码后,调用createClient()
时会发生以下情况:
createClient(url, options, cb)
在内部为相关网址创建wsdl处理程序(wsdl.open_wsdl()
)url
作为密钥缓存wsdl处理程序(除非options.disableCache
为true
)createClient()
使用Client()
回调,其中包含了wsdl处理程序因此,除非您url
更改,否则您可以将其用作单身,因为无需再次运行wsdl的设置代码。
如果您的url
发生了更改(或者您不确定是否发生了更改),请为每次通话使用createClient()
。 wsdl设置仍然会被缓存,因此在这种情况下你没有任何开销(除了第一次创建wsdl)。