2013-04-11 153 views
0

我无法获取QuickBooks Web连接器。当它运行日志说QBWC1013:连接到QuickBooks时出错。 0x80040408

...

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中的应用程序允许自动登录。我读过,如果没有从服务中提供文件,那么打开的文件将被使用,但它不起作用。我也从我的肥皂服务返回了路径,但它仍然没有工作,我重新启动并再次尝试,但没有奏效,我做了一个新公司测试意志,它没有工作。

任何想法都会有所帮助。

+0

确保在授权应用程序时,您在无人参与模式下选择允许。 – 2013-04-11 16:23:15

+0

我开始在我的qwc文件中返回FileID作为通过身份验证返回的数组中的第一个元素,现在似乎可以工作。第二个元素,我留下一个空字符串。 – user2271009 2013-04-11 17:25:30

回答

3

这是你的问题 - 你返回错误的东西:

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:\路径\为\ file.QBW“)或字符串‘无’(如果有什么可以做 )或字符串‘NVU’(如果登录无效)
  • authRet [2] =这 是可选,则可以发送一个空字符串或指示 分钟数做下一次更新之前等待
  • authRet [3] =这是可选,则可以发送一个空字符串的整数或指示Web连接器在更新会话之间允许的最小秒数

这在我们的QuickBooks integration wiki上有更详细的记录。

你做了什么来解决它:

我开始通过身份验证返回的数组返回中写到FileID我QWC文件作为第一个元素 ,似乎现在的工作。

是极其不安全的 - 这意味着,任何人谁发现写到FileID(这绝对是蛮力,能够或发现,能够通过社会工程策略)将能够连接到您的SOAP的Web服务,并提取潜在的敏感会计信息(信用卡号码,客户等)

您应该修复您的服务以返回一个有效的,短暂的会话令牌。

+1

我有同样的问题。你的参数结构似乎与[程序员指南](https://developer-static.intuit.com/qbSDK-current/doc/PDF/QBWC_proguide.pdf)相矛盾,但是因为你说的对我有用,所以很难辩论与结果。该指南是可怕的过时或什么的? – JohnB 2014-02-25 23:08:30

+1

没关系,指南与自己相矛盾。正确的结构,第62页概述了一个不正确或过时的版本 – JohnB 2014-02-26 00:35:46

+2

我向Intuit报告了这一点:https://intuitpartnerplatform.lc.intuit.com/questions/833883-docs-error-web-connector-pdf-describes-不正确返回值?事件= new_question – 2014-02-26 01:39:59