5

这个想法是使用 Node.js 实现一个 QBWC Web 服务,它可以以异步方式为多个传入请求提供服务。目前我正在研究qbws,它是 QuickBooks Desktop Web 连接器的 Node.js Web 服务。关于如何扩展它以支持服务方法的异步架构的任何想法?
提前致谢!

4

1 回答 1

4

soap模块支持异步函数调用,这使得这很容易做到。要使用与我的其他答案相同的模板,您可以这样做:

var soap = require('soap');

var yourService = {
    QBWebConnectorSvc: {
        QBWebConnectorSvcSoap: {
            serverVersion: function (args, callback) {

                // serverVersion code here

                callback({
                    serverVersionResult: { string: retVal }
                });
            },
            clientVersion: function (args, callback) {

                //clientVersion code here

                callback({
                    clientVersionResult: { string: retVal }
                });
            },

            // and all other service functions required by QBWC

        }
    }
};

有两个区别:

  1. 每个方法签名都有一个附加callback参数
  2. 没有returncallback()而是由处理。

我目前没有合适的环境来测试它,但我创建了一个客户端来模仿 QuickBooks Web 连接器,它运行良好。将 qbws 方法转换为异步允许它同时为多个客户端提供服务(包括一个合法的 QBWC 客户端)。

于 2015-09-30T16:17:09.560 回答