如何使用Node.js异步服务多个QBWC客户端

时间:2015-09-30 16:05:24

标签: node.js asynchronous quickbooks qbwc

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

1 个答案:

答案 0 :(得分:4)

soap模块supports asynchronous function calls,这使得这很容易。要使用与my other answer相同的模板,请按以下步骤操作:

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. 没有return,而是由callback()处理。
  3. 我目前没有合适的环境来测试这个,但是我创建了a client to imitate QuickBooks Web Connector并且它工作正常。将qbws方法转换为异步允许它同时为多个客户端提供服务(包括一个合法的QBWC客户端)。