我继承了一个使用quickbooks
api v2和php的应用程序,并且工作正常。
在过去的几个星期里,我的任务是从api v2转到api v3,因为"和谐"移民。我使用quickbooks
api v3的.Net版本完成了此迁移,并且在我的开发环境中一切都运行良好但是当我将更改推送到我的临时服务器时它不起作用。誓言部分工作正常。我被重定向到intuit网站以确认我的授权,即应该允许我的应用访问我的quickbooks
信息。一切正常,直到我被重定向到oath_callback_url
,我实际在TaxCodes
查询quickbooks
,以查看我的特定用户可以使用的TaxCodes
。
我所指的代码如下:
QueryService<TaxCode> taxCodeQueryService = new QueryService<TaxCode>(getServiceContext(RestProfile.GetRestProfile()));
taxCodes = taxCodeQueryService.ExecuteIdsQuery("Select * From TaxCode").ToList<TaxCode>();
使用此代码,我收到一条错误消息:
消息:与Ids服务器通信时出错 InnerException消息:响应流为空或空。
基本上,我正在查询TaxCodes
并将其发送到直觉服务器,但我没有得到任何回报(经过30秒的等待)。在我的开发环境中一切正常,但是当我部署到登台服务器时会出现此问题。我已检查过此服务器上的各种防火墙情况,但我无法从intuit的服务器上获得有效的结果。我尝试过TaxCodes
的查询以及Customer
列表的一般查询。我得到了相同的结果。
在我的登台服务器上,我正在使用mono 3.4.0
,就像我在开发环境中一样。一切都在开发中完美运行,但在我的服务器上,我得到了intuit的超时/无响应。
如果您对如何解决问题有解释或建议,我很感激。
答案 0 :(得分:0)
我会在这里回答以防其他人有这个问题。
问题与在Linux上部署应用程序有关。 Linux上的Mono没有一组受信任的根证书,因此我使用单声道附带的mozroots实用程序导入它们。使用quickbooks api服务器提供的ssl证书时,这显然是不够的。您需要信任正确的根证书或使用此处提供的其中一个修补程序:Mono problems with cert and mozroots