QBWC1013: Ошибка подключения к QuickBooks. 0x80040408
У меня проблемы с получением QuickBooks Web Connector. Когда он запускает логи говорит
...
20130411.15:29:07 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : *** Calling serverVersion().
20130411.15:29:07 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : Received from serverVersion() following parameter:<serverVersionRet="testing version">
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : *** Calling clientVersion() with following parameter:<productVersion="2.1.0.27">
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : Received from clientVersion() following parameter:<clientVersionRet="">
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : This application agrees with the current version of QBWebConnector. Allowing update operation.
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'QBServices Raw Soap', username = 'test'
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_authenticate() : *** Calling authenticate() with following parameters:<userName="test"><password=<MaskedForSecurity>
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.updateWS() : Received from authenticate() following parameters:<authRet[0]=""><authRet[1]="0"><authRet[2]=""><authRet[3]="">
20130411.15:29:08 UTC : QBWebConnector.RegistryManager.setCurrentWebServiceName() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\CurrentWebServiceName has been set to QBServices Raw Soap
20130411.15:29:08 UTC : QBWebConnector.RegistryManager.setCurrentWebServiceSessionTicket() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\CurrentWebServiceSessionTicket has been set to
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.CheckCFNResponse() : User authenticated.
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Done.
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.OpenConnection() : Connecting to QuickBooks...
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.handleAllOtherError() : QBWC1013: Error connecting to QuickBooks. Returning error message to application.
Could not start QuickBooks.
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_connectionError() : *** Calling connectionError() with following parameters:<wcTicket=""><hresult="0x80040408"><message="Could not start QuickBooks.">
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.do_connectionError() : Received from connectionError() following parameters:<tryAgain="done">
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.OpenConnection() : Error connecting to QuickBooks. Application sent back DONE. Job ending.
20130411.15:29:08 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20130411.15:29:08 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20130411.15:29:08 UTC : QBWebConnector.WebServiceManager.DoUpdateSelected() : Update completed with errors. See log (QWClog.txt) for details.
QuickBooks открыт, когда я получаю это сообщение. Приложение в QuickBooks может войти в систему автоматически. Я читал, что если файл не предоставляется из служб, то будет использоваться открытый файл, но он не работает. Я также возвратил путь от своих мыльных служб, но он все еще не работал, я перезагружался и пробовал снова, но это не работало, и я создал новую компанию для проверки воли, и она не работала.
Любые мысли будут полезны.
1 ответ
Это ваша проблема - вы возвращаете не ту вещь
20130411.15:29:08 UTC : QBWebConnector.SOAPWebService.updateWS() :
Received from authenticate() following parameters:
<authRet[0]="">
<authRet[1]="0">
<authRet[2]="">
<authRet[3]="">
Правильный набор параметров для возврата следует этому формату:
- authRet [0] = действительный билет сеанса (если вход был успешным)
- authRet [1] = путь к файлу компании QuickBooks (например, "C:\path\to\file.QBW") или строка "none" (если делать нечего) или строка "nvu" (если вход в систему был недействительным)
- authRet [2] = это необязательно, вы можете отправить пустую строку или целое число, указывающее количество минут ожидания до следующего обновления
- authRet [3]= это необязательно, вы можете отправить пустую строку или целое число, указывающее минимальное количество секунд, которое веб-соединитель должен разрешить между сеансами обновления
Более подробно это описано на нашей вики-странице по интеграции QuickBooks.
Что вы сделали, чтобы исправить это:
Я начал возвращать FileID в своем файле qwc в качестве первого элемента в массиве, возвращенном authenticate, и теперь он работает.
Чрезвычайно небезопасно - это означает, что любой, кто обнаружит этот FileID (который, несомненно, способен перебором или может быть обнаружен с помощью тактики социальной инженерии), сможет подключиться к вашему веб-сервису SOAP и извлечь потенциально конфиденциальную учетную информацию (номера кредитных карт). клиенты и т. д.)
Вы должны исправить свой сервис, чтобы вместо него возвращать действительный, недолговечный токен сеанса.