我无法从Web连接器启动QuickBooks。我传递了有效的文件路径,根据文档,一切看起来都正确。
如果我已经打开QuickBooks,Web连接器运行正常。如果它没有打开,我收到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.
答案 0 :(得分:4)
我将假设您的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的Web连接器时,系统将提示您允许应用程序访问QuickBooks数据。您需要选择最后一个选项“是,始终;即使QuickBooks未运行也允许访问”
不要忘记从Web Service的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,则由于某种原因必须添加manually文件。 Web Connector文档和新的QuickBooks integration wiki都没有明确这个细节。
答案 1 :(得分:0)
随着日志数据的显示->用户身份验证,这意味着.qwc文件的格式正确。经过身份验证后,Web连接器向QuickBook发出连接请求,在您的情况下失败。
通过Web连接器连接到QuickBooks桌面的步骤是:
对我有用。 祝您一切顺利。
答案 2 :(得分:0)
我在这件事上头撞墙,但在与 Intuit 通了 4 个小时的电话后,最终让 2 级开发团队参与了那里的开发团队,他们向我提供了有关这个模糊的地狱错误的更多细节。当您收到此错误时,问题不在于它无法启动 quickbooks,而是您的服务器请求您尝试错误地打开文件。会导致这种情况的事情。文件名错误,文件路径错误。您的请求格式不正确。
在我的情况下,我们的文件名是正确的,但我的服务器假设提取文件的路径,您可以在 hkey_current_user\software\intuit\qbwebconnector\soapwebservices\ 的寄存器中确认该文件的路径,查找 companyfile,您将看到名称和完整路径。
希望这有助于有人处理这个模糊的错误。