为什么Quickbooks Web Connector不能调用closeConnection?

时间:2013-03-02 14:58:41

标签: quickbooks qbwc

我有一个Quickbooks Web Connector(QBWC)界面的工作原型实现。一切按预期工作除了,大部分时间都没有调用closeConnection方法。

预期行为

QuickBooks Web Connector Programmer’s Guide声明如下(第21页):

  

当QBWC获得此字符串数组时会发生什么?如果是第二个成员   字符串数组包含“none”或“nvu”,QBWC将显示一个   消息,调用closeConnection,然后停止会话。

此外,指南在“clientVersion和authenticate callbacks”插图中显示相同的信息(图2-2,第20页):

  

致电验证
  如果返回“无”或“nvu”,则   显示消息,调用 closeConnection 并停止

实际行为

当authenticate方法返回值“none”时,将调用这些(并且只有这些)Web方法(按列出的顺序):

  • serverVersion
  • 客户机版本
  • 身份验证

请注意,这仅适用于QBWC / Quickbooks没有可用的工作。当 工作时,authenticate web方法返回一个空字符串,QBWC随后调用以下Web方法:

  • sendRequestXml
  • receiveResponseXml
  • closeConnection

编辑1:强制clientVersion Web方法返回“E”结果后,它会按照程序员指南中的说明停止更新过程,但在这些情况下也不会调用closeConnection Web方法。有趣的是,在 clientVersion返回“E”结果后,QBWC仍会调用serverVersion web方法

排除故障

  • 验证(通过跟踪)字符串数组的第二个成员实际上包含值“none”。但是,closeConnection回调永远不会为该会话触发。
  • 仔细检查了QBWC客户端日志(QWCLog.txt),发现没有提及被调用的closeConnection,因此没有与此类调用相关的错误。
  • 已验证用于closeConnection的方法代码与“程序员指南”(第68页)中的示例相同。

支持信息

对于它的价值,这里有一些实施细节。

  • ASP.Net 3.5(c#)
  • QBWC 2.0.0.139

0 个答案:

没有答案