Почему Quickbooks Web Connector не вызывает closeConnection?

У меня есть рабочий прототип реализации интерфейса Quickbooks Web Connector (QBWC). Все работает как положено, за исключением того, что метод closeConnection не вызывается большую часть времени.

Ожидаемое поведение

Руководство программиста QuickBooks Web Connector гласит следующее (стр. 21):

Что происходит, когда QBWC получает этот строковый массив? Если второй член строкового массива содержит "none" или "nvu", QBWC отобразит сообщение, вызовет closeConnection и остановит сеанс.

Кроме того, в Руководстве указана та же информация на рисунке "clientVersion и аутентификация обратных вызовов" (рис. 2-2, стр. 20):

Звонок аутентифицировать
Если возвращаемое значение равно "none" или "nvu",
Показать сообщение, позвонить closeConnection и остановить

Фактическое поведение

Когда метод authenticate возвращает значение "none", вызываются эти (и только эти) веб-методы (в указанном порядке):

  • serverVersion
  • clientVersion
  • проверять подлинность

Обратите внимание, что это только в том случае, если для QBWC/Quickbook нет доступной работы. Когда есть работа, веб-метод authenticate возвращает пустую строку, и QBWC впоследствии вызывает следующие веб-методы:

  • sendRequestXml
  • receiveResponseXml
  • closeConnection

РЕДАКТИРОВАНИЕ 1: После того, как веб-метод clientVersion вернул результат "E", он останавливает процесс обновления, как описано в Руководстве для программиста, но веб-метод closeConnection также не вызывается при этих обстоятельствах. Интересно отметить, что QBWC по-прежнему вызывает веб-метод serverVersion после того, как clientVersion возвращает результат "E".

Устранение неисправностей

  • Проверено (посредством трассировки), что второй член массива строк действительно содержит значение "none". Однако обратный вызов closeConnection никогда не срабатывает для этого сеанса.
  • Дважды проверил журнал клиента QBWC (QWCLog.txt) и не нашел упоминаний о вызываемом closeConnection и, следовательно, об ошибках, связанных с таким вызовом.
  • Убедитесь, что код метода, используемый для closeConnection, идентичен примеру, найденному в Руководстве программиста (стр. 68).

Вспомогательная информация

Для чего это стоит, вот несколько деталей реализации.

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

0 ответов

Другие вопросы по тегам