Ошибка QBWC QBWC1013: "Не удалось запустить QuickBooks".
Я не могу запустить QuickBooks из Web Connector. Я передаю действительный путь к файлу, все выглядит правильно в соответствии с документацией.
- Версия QBWC - 2.1.0.3.0.
- QB Ver - Premier Contractor Edition 2010
Если у меня уже открыты QuickBooks, Web Connector работает нормально. Если это не открыто, я получаю ошибку QBWC1013...
Соответствующая часть журнала:
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.instantiateWebService() : Initiated connection to the following application.
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.instantiateWebService() : AppName: FOO
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.instantiateWebService() : AppUniqueName (if available): FOO
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.instantiateWebService() : AppURL: https://www.foo.com/server.php
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : *** Calling serverVersion().
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : Received from serverVersion() following parameter:<serverVersionRet="PHP QuickBooks SOAP Server v1.5.3 at /server.php">
20130312.14:14:56 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : *** Calling clientVersion() with following parameter:<productVersion="2.1.0.30">
20130312.14:14:57 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : Received from clientVersion() following parameter:<clientVersionRet="">
20130312.14:14:57 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : This application agrees with the current version of QBWebConnector. Allowing update operation.
20130312.14:14:57 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'FOO', username = 'foo'
20130312.14:14:57 UTC : QBWebConnector.SOAPWebService.do_authenticate() : *** Calling authenticate() with following parameters:<userName="foo"><password=<MaskedForSecurity>
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.updateWS() : Received from authenticate() following parameters:<authRet[0]="91f62aac622b49ad483f20ef9d7729a3"><authRet[1]=""\\FOOSERVER\Users\Public\Documents\Intuit\QuickBooks\Company Files\Some Company File Inc..QBW""><authRet[2]=""><authRet[3]="">
20130312.14:14:58 UTC : QBWebConnector.RegistryManager.setCurrentWebServiceName() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\CurrentWebServiceName has been set to FOO
20130312.14:14:58 UTC : QBWebConnector.RegistryManager.setCurrentWebServiceSessionTicket() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\CurrentWebServiceSessionTicket has been set to 91f62aac622b49ad483f20ef9d7729a3
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.CheckCFNResponse() : User authenticated.
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Done.
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.OpenConnection() : Connecting to QuickBooks...
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.handleAllOtherError() : QBWC1013: Error connecting to QuickBooks. Returning error message to application.
Could not start QuickBooks.
20130312.14:14:58 UTC : QBWebConnector.SOAPWebService.do_connectionError() : *** Calling connectionError() with following parameters:<wcTicket="91f62aac622b49ad483f20ef9d7729a3"><hresult="0x80040408"><message="Could not start QuickBooks.">
20130312.14:14:59 UTC : QBWebConnector.SOAPWebService.do_connectionError() : Received from connectionError() following parameters:<tryAgain="done">
20130312.14:14:59 UTC : QBWebConnector.SOAPWebService.OpenConnection() : Error connecting to QuickBooks. Application sent back DONE. Job ending.
20130312.14:14:59 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20130312.14:14:59 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20130312.14:14:59 UTC : QBWebConnector.WebServiceManager.DoUpdateSelected() : Update completed with errors. See log (QWClog.txt) for details.
3 ответа
Я предполагаю, что ваш файл QWC имеет правильный формат.
Если может выглядит примерно так
<QBWCXML>
<AppName>Example WS</AppName>
<AppID></AppID>
<AppURL>https://localhost/Quickbooks.asmx</AppURL>
<AppDescription>Example Service Service</AppDescription>
<AppSupport>https://localhost/</AppSupport>
<UserName>Etile</UserName>
<OwnerID>{XXXXB9B1-86F1-4fcc-B1EE-566DE1813D20}</OwnerID>
<FileID>{XXXX4FB5-33D9-4815-AC85-BC87A7E7D1EB}</FileID>
<QBType>QBFS</QBType>
<Scheduler>
<RunEveryNMinutes>1</RunEveryNMinutes>
</Scheduler>
</QBWCXML>
При добавлении приложения в коннектор QuickBooks вам будет предложено разрешить приложению доступ к данным QuickBooks. Вам нужно выбрать последний вариант "Да, всегда; разрешить доступ, даже если QuickBooks не запущен"
И не забудьте вернуть полный путь к файлу компании из метода authenticate() вашего веб-сервиса.
Пример ответа SOAP:
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://developer.intuit.com/">
<SOAP-ENV:Body>
<ns1:authenticateResponse>
<ns1:authenticateResult>
<ns1:string>1e3ea2ed-a734-03e4-ed8c-80eb12f19845</ns1:string>
<ns1:string>C:\Quickbooks Company File.QBW</ns1:string>
</ns1:authenticateResult>
</ns1:authenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Обратите внимание, что если вы используете quickbooks-php, файл должен быть добавлен вручную по некоторым причинам. Документация Web Connector и новая вики-страница QuickBooks не имеют ясности в этой детали.
Я бился головой об стену по этому поводу, но после 4 часов разговора по телефону с Intuit и, наконец, когда команда разработчиков второго уровня подключилась к команде разработчиков, они подсказали мне некоторые более подробные сведения об этой чертовски расплывчатой ошибке. Когда вы получаете эту ошибку, проблема не в том, что он не может запустить quickbooks, а в том, что вы запрашиваете с вашего сервера, пытается неправильно открыть файл. Вещи, которые вызовут это. Неправильное имя файла, неверный путь к файлу. Ваш запрос отформатирован неправильно.
В моем случае у нас было правильное имя файла, но мой сервер должен был получить путь к файлу, который вы можете подтвердить в реестре по адресу hkey_current_user\software\intuit\qbwebconnector\soapwebservices\ найдите файл компании, и вы увидите имя и полный путь.
надеюсь, что это поможет кому-то разобраться с этой неопределенной ошибкой.
Поскольку данные журнала показывают -> пользователь аутентифицирован, это означает, что файл.qwc имеет правильный формат. После аутентификации веб-коннектор отправляет в QuickBook запрос на подключение, что в вашем случае не работает.
Шаги по подключению к рабочему столу QuickBooks через веб-коннектор:
- Запустите веб-службу и настольное приложение QuickBook в режиме администратора
- Название веб-сервиса и название компании QuickBook должны совпадать.
- Запустите рабочий стол QuickBook в многопользовательском режиме, чтобы вы также могли подключиться к QuickBook через веб-коннектор.
- В коде веб-службы, если пользователь аутентичен, выполните authReturn[1]="" // для подключения к файлу компании, который в данный момент открыт в QuickBooks
У меня это сработало. Все лучшее для тебя.