NPM SOAP包 - 客户端是单身人士吗?

时间:2017-10-24 14:52:19

标签: node.js soap soap-client

我正在使用这个npm包: https://www.npmjs.com/package/soap

我在文档中找不到答案,因为我想知道SOAP客户端的最佳实践是创建单个客户端作为启动并用于所有请求(类似于数据库客户端),还是创建一个每个请求新的。

1 个答案:

答案 0 :(得分:2)

这取决于您的使用案例和应用程序要求。

在阅读node-soap的代码后,调用createClient()时会发生以下情况:

  • createClient(url, options, cb)在内部为相关网址创建wsdl处理程序(wsdl.open_wsdl()
  • 使用url作为密钥缓存wsdl处理程序(除非options.disableCachetrue
  • createClient()使用Client()回调,其中包含了wsdl处理程序

因此,除非您url更改,否则您可以将其用作单身,因为无需再次运行wsdl的设置代码。

如果您的url发生了更改(或者您不确定是否发生了更改),请为每次通话使用createClient()。 wsdl设置仍然会被缓存,因此在这种情况下你没有任何开销(除了第一次创建wsdl)。