Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Quickbooks 为什么公司文件名由web服务提供?_Quickbooks_Qbwc - Fatal编程技术网

Quickbooks 为什么公司文件名由web服务提供?

Quickbooks 为什么公司文件名由web服务提供?,quickbooks,qbwc,Quickbooks,Qbwc,我知道,要访问QuickBooks中当前未打开的公司,web服务需要向QuickBooks web连接器提供文件位置,作为authenticate()调用的返回值 对我来说,这似乎是倒退。为什么web服务负责告诉web连接器相关公司文件的位置?由Web连接器管理它不是更有意义吗 下面是我在QuickBooks Web连接器中找到的相关解释 程序员指南: 如果web服务希望尝试其他公司,请在返回的字符串中提供公司路径名。(如果要使用恰好打开的任何公司文件,可以提供空字符串。)web连接器将通过尝试

我知道,要访问QuickBooks中当前未打开的公司,web服务需要向QuickBooks web连接器提供文件位置,作为
authenticate()
调用的返回值

对我来说,这似乎是倒退。为什么web服务负责告诉web连接器相关公司文件的位置?由Web连接器管理它不是更有意义吗

下面是我在QuickBooks Web连接器中找到的相关解释 程序员指南:

  • 如果web服务希望尝试其他公司,请在返回的字符串中提供公司路径名。(如果要使用恰好打开的任何公司文件,可以提供空字符串。)web连接器将通过尝试使用提供的字符串再次连接到QuickBooks来响应 为什么Web服务会尝试另一家公司? 为什么web服务要执行这些操作中的第二个,而不是简单地完全停止?在实践中,当web服务记住会话间的公司文件路径(推荐做法)并希望使用QuickBooks中当前打开的任何公司文件(通过使用空字符串响应connectionError调用)时,使用这种方法

    这并不像看上去那么随意。将web服务添加到web连接器时,web连接器会将唯一的FileID存储为指定公司中的专用数据扩展。因此,只要检查在数据交换序列中web连接器的第一个sendRequestXML调用中返回给web服务的CompanyNet,web服务就可以始终验证它是否正在与预期的公司文件通信。(检查数据扩展名列表中的预期文件ID。)

    这似乎是一个糟糕的最终用户体验;如果他们移动公司文件(假设他们希望Web连接器在不打开QuickBooks的情况下运行),Web服务将失败,直到服务器端更新该路径。最终用户可以在不知道会破坏东西的情况下这样做,这似乎是完全合理的

    为什么它的结构是这样的?更重要的是:有办法解决这个问题吗

    为什么它的结构是这样的

    因为这就是Intuit构建它的方式

    有办法解决这个问题吗


    没有。

    我担心这会是答案,但我感谢您的确认。对于QBWC的其他部分来说,理解“倒置”通信模型背后的逻辑是很容易的,但这一特定方面对我来说毫无意义。哦,好吧!是的,这有点让人扫兴。有传言说有一个新的网络连接器版本。。。我希望我有时间去做,并建立一个自己来解决一些问题,像这样。