I cannot get QuickBooks to start up from the Web Connector. I am passing valid filepath, everything looks right according to the documentation.
- QBWC version is 2.1.0.3.0
- QB Ver is Premier Contractor Edition 2010
If I have QuickBooks open already, the Web Connector runs fine. If it's not open, I get the QBWC1013 error...
Relevant portion of log:
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 Answers
I'm going to assume that your QWC file is with the correct format.
If may looks something like this
<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>
When you add the application to QuickBooks's Web Connector, you will be prompted to allow the application access to QuickBooks data. You need to select the last option "Yes, always; allow access even if QuickBooks is not running"
And don't forget to return the full path to the company file from your Web Service's authenticate() method.
A Sample SOAP Response would be:
<?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>
Note that if you are using quickbooks-php, the file must be added manually for some reason. The Web Connector documentation and the new QuickBooks integration wiki both lack clarity on this detail.
1I was banging my head against the wall on this but after 4 hours on the phone with Intuit and finally having the tier 2 engage there development team they clued me to into some more details on this vague as hell error. When you get this error the problem is not that it can't start quickbooks its that you're request from your server is attempting to open the file incorrectly. Things that will cause this. The name of the file is wrong, the path of the file is wrong. Your request is not formatted correctly.
In my case we had the file name correct but my server was suppose to pull the path of the file which you can confirm in the register at hkey_current_user\software\intuit\qbwebconnector\soapwebservices\ look for companyfile and you'll see the name and full path.
hope this helps someone deal with this vague error.
0As log data is showing -> user authenticated, that means .qwc file is in correct format. After authentication, web connector is making a request to QuickBook to connect, which is failing in your case.
Steps to connect to QuickBooks desktop through web connector are :
It worked for me. All the best for you.
ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoaG5rZml9cYGOqpmwm12av7O70Waom6%2BTZn1yf4ycpq6klGK7sMCMrKuaqqRivra1wqSZqKebqA%3D%3D