NodeJS:SOAP API调用,而无需在每个SOAP方法调用之前创建肥皂客户端

时间:2018-10-10 10:52:23

标签: node.js express soap dialogflow strong-soap

我正在使用strong-soap从NodeJs应用程序调用SOAP API。 我可以使用以下代码调用soap方法。

createClient() {
   return new Promise((resolve, reject) => {
       soap.createClient(WYH_URL, this.options, (err: Error, mClient: any) => {
           if (err) {
               reject(err)
           } else {
               this.client = mClient;
               resolve(mClient)
           }
       });
   })
}

bookService = (data) => {
    var requestArgs = { SJson: JSON.stringify(data) }
    return this.createClient().then(success => {
        var method = this.client['BookService'];
        return method(requestArgs)
    })
}

由于此nodeJS应用是用于dialogflow Webhook的,因此soap API响应应该更快,但是上述方法每次调用soap方法时都会创建SOAP客户端,这比预期花费了更多时间。有什么方法可以消除在每个方法调用中创建肥皂客户端的情况吗?

1 个答案:

答案 0 :(得分:0)

创建一个顶级客户端,并将其用于每个查询。