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