quickbooks api v3 IdsQuery
本文关键字:IdsQuery v3 api quickbooks | 更新日期: 2023-09-27 18:04:48
我继承了一个应用程序,使用quickbooks
api v2与php和事情工作得很好。
在过去的几个星期里,由于"和谐"迁移,我的任务是从api v2迁移到api v3。我使用。net版本的quickbooks
api v3完成了此迁移,并且在我的开发环境中一切都运行良好,但是当我将更改推送到我的登台服务器时,它不起作用。誓言部分工作得很好。我被重定向到intuit网站,以确认我的授权,我的应用程序应该被赋予访问我的quickbooks
信息。一切都工作得很好,直到我被重定向到我的oath_callback_url
,在那里我实际上在quickbooks
中对TaxCodes
进行查询,以查看TaxCodes
对我的特定用户可用。
我所指的代码如下:
QueryService<TaxCode> taxCodeQueryService = new QueryService<TaxCode>(getServiceContext(RestProfile.GetRestProfile()));
taxCodes = taxCodeQueryService.ExecuteIdsQuery("Select * From TaxCode").ToList<TaxCode>();
使用这段代码,我收到一个错误,上面写着:
消息:与id服务器通信时出现错误
基本上,我正在查询TaxCodes
并将其发送到intuit服务器,但我没有得到任何回报(经过30秒的等待)。在我的开发环境中一切正常,但是当我部署到登台服务器时,这个问题就出现了。我已经检查了这台服务器上的各种防火墙情况,但我无法从intuit的服务器获得有效的结果。我尝试了TaxCodes
的查询,以及Customer
列表的一般查询。我得到了相同的结果。
在我的登台服务器上,我使用mono 3.4.0
,就像我在开发环境中一样。在开发中一切都很完美,但在我的服务器上,我从intuit得到超时/无响应。
我在这里回答,以防其他人有这个问题。
问题与在linux上部署应用程序有关。linux上的Mono没有提供一组受信任的根证书,所以我使用Mono附带的mozroots实用程序导入它们。在使用quickbooks api服务器提供的ssl证书时,这显然是不够的。您要么需要信任正确的根证书,要么使用这里提供的修复程序之一:使用cert和mozroots