phpquickbooksqbxmlqbwc

Various QBWC errors when adding .qwc file to QuickBooks WebConnect


I removed first line of .qwc file because I was getting and error until I tried removing this.

.QWC File:

<QBWCXML>
<AppName>Dashboard</AppName>
<AppID></AppID>
<AppURL>https://app.cyfe.net/ext/quickbooks/soap/</AppURL>
<AppDescription>Allows you to add QuickBooks Desktop info to your Dashboard</AppDescription>
<AppSupport>https://app.cyfe.net/ext/quickbooks/</AppSupport>
<UserName>derekjosepholson@gmail.com</UserName>
<OwnerID>{192E4G11-F265-QNCE-F1BB-X36916G13D6B}</OwnerID>
<FileID>{57F3B9B6-86F1-4FDC-B1FF-966DE1853D20}</FileID>
<QBType>QBFS</QBType>
<Notify>false</Notify>
<Scheduler>
    <RunEveryNMinutes>10</RunEveryNMinutes>
</Scheduler>
<IsReadOnly>false</IsReadOnly>

app.cyfe.net is hosted on a local virtual server for testing

QBWC LOG:

20180111.16:52:32 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks...
20180111.16:52:43 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started
20180111.16:52:54 UTC   : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed
20180111.16:52:54 UTC   : RemoveApp() : Application Troubleshoot access via QuickBooks cannot be removed.
20180111.16:53:00 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks...
20180111.16:53:00 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started
20180111.16:53:09 UTC   : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed
20180111.16:53:09 UTC   : RemoveApp() : Application Troubleshoot access via QuickBooks cannot be removed.
20180111.16:53:19 UTC   : QWCReader.ParseQWC() : Contents of QWC file: -
<QBWCXML>
  <AppName>Dashboard</AppName>
  <AppID></AppID>
  <AppURL>https://app.cyfe.net/ext/quickbooks/soap/</AppURL>
  <AppDescription>Allows you to add QuickBooks Desktop info to your Dashboard</AppDescription>
  <AppSupport>https://app.cyfe.net/ext/quickbooks/</AppSupport>
  <UserName>derekjosepholson@gmail.com</UserName>
  <OwnerID>{192E4G11-F265-QNCE-F1BB-X36916G13D6B}</OwnerID>
  <FileID>{57F3B9B6-86F1-4FDC-B1FF-966DE1853D20}</FileID>
  <QBType>QBFS</QBType>
  <Notify>false</Notify>
  <Scheduler>
    <RunEveryNMinutes>10</RunEveryNMinutes>
  </Scheduler>
  <IsReadOnly>false</IsReadOnly>
</QBWCXML>
20180111.16:53:19 UTC   : QBWebConnector.WebServiceManager.ReadQWC(QWCReader QWC) : Parsing application configuration xml file to load its content to variables
20180111.16:53:47 UTC   : QBWebConnector.RegistryManager.createRegKey() : Error creating registry key for appName = <>
20180111.16:53:47 UTC   : QBWebConnector.RegistryManager.createRegKey() : Reason: Value cannot be null.
Parameter name: name
20180111.16:53:47 UTC   : QBWebConnector.SOAPWebService.SerializeToRegistry() : Error saving Dashboard to Registry: Object reference not set to an instance of an object.
20180111.16:53:47 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks...
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : Application name = Dashboard
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : Querying company file to find if owner/file id exists.
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Latest QBXML version supported = v13.0
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Querying QuickBooks for existance of owner/file id
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -

<?xml version="1.0"?><?qbxml version="13.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtDefQueryRq requestID="1"><OwnerID>{192E4G11-F265-QNCE-F1BB-X36916G13D6B}</OwnerID></DataExtDefQueryRq></QBXMLMsgsRq></QBXML>

20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -

<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<DataExtDefQueryRs requestID="1" statusCode="3065" statusSeverity="Error" statusMessage="There was an error when converting the GUID value &quot;{192E4G11-F265-QNCE-F1BB-X36916G13D6B}&quot; in the field &quot;OwnerID&quot;. " />
</QBXMLMsgsRs>
</QBXML>


20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Status message: There was an error when converting the GUID value "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". 
20180111.16:53:48 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : QBWC1039: There was a problem adding the application. Check QWCLog.txt for details.
<Unable to access QuickBooks, QuickBooks must be open the first time an application is added to the web connector>
   at QBWebConnector.WebService.AddToQuickBooks()
20180111.16:54:41 UTC   : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed

When I create a new company in QuickBooks and then try adding .qwc file I am able to get one step further the first time I try adding .qwc file. By one step further I mean when I click OK on Authorize New Web Service I'm not immediately presented with an error, but I am after I click OK on page after. I pasted the log below to show how the errors are different.

QBWC LOG:

Log file initialized at Thursday, January 11, 2018 - 5:52 PM UTC  
Timestamp format used: YYYYMMDD.HH:MM:SS UTC
QBWebConnector 2.2 has been initialized with its logging status to level = VERBOSE.
Please restart QBWebConnector for any change in log level to take effect. Use file menu to clear log.

20180111.17:52:39 UTC   : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20180111.17:52:39 UTC   : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20180111.17:52:39 UTC   :  : ~SingleInstanceHandler() - usingInstanceChannel = false. Returning without any Registry key delete or unmarshalling.
20180111.17:52:45 UTC   : QWCReader.ParseQWC() : Contents of QWC file: -
<QBWCXML>
  <AppName>Dashboard</AppName>
  <AppID></AppID>
  <AppURL>https://app.cyfe.net/ext/quickbooks/soap/</AppURL>
  <AppDescription>Allows you to add QuickBooks Desktop info to your Dashboard</AppDescription>
  <AppSupport>https://app.cyfe.net/ext/quickbooks/</AppSupport>
  <UserName>derekjosepholson@gmail.com</UserName>
  <OwnerID>{192E4G11-F265-QNCE-F1BB-X36916G13D6B}</OwnerID>
  <FileID>{57F3B9B6-86F1-4FDC-B1FF-966DE1853D20}</FileID>
  <QBType>QBFS</QBType>
  <Notify>false</Notify>
  <Scheduler>
    <RunEveryNMinutes>10</RunEveryNMinutes>
  </Scheduler>
  <IsReadOnly>false</IsReadOnly>
</QBWCXML>
20180111.17:52:45 UTC   : QBWebConnector.WebServiceManager.ReadQWC(QWCReader QWC) : Parsing application configuration xml file to load its content to variables
20180111.17:52:52 UTC   : QBWebConnector.RegistryManager.createRegKey() : Error creating registry key for appName = <>
20180111.17:52:52 UTC   : QBWebConnector.RegistryManager.createRegKey() : Reason: Value cannot be null.
Parameter name: name
20180111.17:52:52 UTC   : QBWebConnector.SOAPWebService.SerializeToRegistry() : Error saving Dashboard to Registry: Object reference not set to an instance of an object.
20180111.17:52:52 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks...
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : Application name = Dashboard
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : Querying company file to find if owner/file id exists.
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Latest QBXML version supported = v13.0
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Querying QuickBooks for existance of owner/file id
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -

<?xml version="1.0"?><?qbxml version="13.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtDefQueryRq requestID="1"><OwnerID>{192E4G11-F265-QNCE-F1BB-X36916G13D6B}</OwnerID></DataExtDefQueryRq></QBXMLMsgsRq></QBXML>

20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -

<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<DataExtDefQueryRs requestID="1" statusCode="3065" statusSeverity="Error" statusMessage="There was an error when converting the GUID value &quot;{192E4G11-F265-QNCE-F1BB-X36916G13D6B}&quot; in the field &quot;OwnerID&quot;. " />
</QBXMLMsgsRs>
</QBXML>


20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.findFileIDinQB() : Status message: There was an error when converting the GUID value "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". 
20180111.17:53:06 UTC   : QBWebConnector.SOAPWebService.AddToQuickBooks() : QBWC1039: There was a problem adding the application. Check QWCLog.txt for details.
<Unable to access QuickBooks, QuickBooks must be open the first time an application is added to the web connector>
   at QBWebConnector.WebService.AddToQuickBooks()
20180111.17:53:17 UTC   : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed

I'm open to any advice! I always made sure to run QB as administrator, I had company file open, I opened web connector through QB, and I added application on web connector through the UI. I tried looking up all error I've gotten in logs but nothing has helped so far.


Solution

  • If you read the log file you posted, you can see this:

    20180111.16:53:48 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Status message: There was an error when converting the GUID value "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID".

    This is not a valid GUID:

    192E4G11-F265-QNCE-F1BB-X36916G13D6B

    Read about GUID values here:

    Specifically the part that says:

    the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits
    

    And notice that your GUID does not use hexadecimal digits. For example X Q and N are all not hexadecimal.

    Fix your GUID, per the log files error message.