我们的想法是使用Node.js实现QBWC Web服务,Node.js可以异步方式为多个传入请求提供服务.目前我正在研究
qbws这是QuickBooks Desktop Web Connector的Node.js Web服务.关于如何扩展它以支持服务方法的异步架构的任何想法?
提前致谢!
提前致谢!
解决方法
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 } } };
有两点不同:
>每个方法签名都有一个额外的回调参数
>没有返回,而是由callback()处理.
我目前没有合适的环境来测试这个,但我创建了a client to imitate QuickBooks Web Connector并且它工作正常.将qbws方法转换为异步允许它同时为多个客户端服务(包括一个合法的QBWC客户端).