我是 Quickbooks 的新手,但我已经安装了 Quickbook Premier Desktop Edition 并拥有一个帐户以及 Quickbook 连接器。我正在尝试通过可用的 Quickbook 连接器将自定义应用程序中的发票、估算和客户信息同步到 Quickbooks 中。问题是,Quickbook 连接器不接受我的应用程序返回的 SOAP xml 响应,因为它们的格式可能不同,因此我想使用 Nodejs 最好为此创建一个服务网关,其中该中间层可以根据需要处理和转换 SOAP Quickbook 连接器接受的格式。有一个限制,我无法直接更改我的应用程序生成 SOAP 响应的格式。那么有人可以建议从哪里开始吗?如果我的思考方向正确的话。提前致谢!
使用肥皂包 https://www.npmjs.com/package/soap,像这样构建您的服务:
var soap = require('soap');
var yourService = {
QBWebConnectorSvc: {
QBWebConnectorSvcSoap: {
serverVersion: function (args) {
// serverVersion code here
return {
serverVersionResult: { string: retVal }
};
},
clientVersion: function (args) {
//clientVersion code here
return {
clientVersionResult: { string: retVal }
};
},
// and all other service functions required by QBWC
}
}
};
var soapServer = soap.listen(server, '/path-to-your-wsdl', yourService, xml);
这是一个示例响应clientVersion()
应该看起来像使用该结构:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://developer.intuit.com/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
<soap:Body>
<tns:clientVersionResponse xmlns:tns="http://developer.intuit.com/" xmlns="http://developer.intuit.com/">
<tns:clientVersionResult>
<tns:string></tns:string>
</tns:clientVersionResult>
</tns:clientVersionResponse>
</soap:Body>
</soap:Envelope>
我已经写了一个功能实现,它可用here https://github.com/johnballantyne/qbws.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)