将 .qwc 文件添加到 QuickBooks WebConnect 时出现各种 QBWC 错误
Various QBWC errors when adding .qwc file to QuickBooks WebConnect
- 我正在使用在 https://github.com/consolibyte/quickbooks-php
找到的 PHP-devkit
我安装了 QuickBooks Web 连接器 2.2.0.80(目前是最新版本)
我是运行ning QuickBooks Desktop 2018美国企业版
我删除了 .qwc 文件的第一行,因为在尝试删除它之前我遇到了错误。
.QWC 文件:
<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 托管在用于测试的本地虚拟服务器上
QBWC 日志:
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 "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". " />
</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
当我在 QuickBooks 中创建一个新公司然后尝试添加 .qwc 文件时,我在第一次尝试添加 .qwc 文件时能够更进一步。更进一步,我的意思是,当我在“授权新 Web 服务”上单击“确定”时,我不会立即出现错误,但在我单击“确定”之后的页面上出现错误。我在下面粘贴了日志以显示错误有何不同。
QBWC 日志:
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 "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". " />
</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
我乐于接受任何建议!我始终确保 运行 QB 作为管理员,打开公司文件,通过 QB 打开 Web 连接器,并通过 UI 在 Web 连接器上添加应用程序。我尝试查找我在日志中遇到的所有错误,但到目前为止没有任何帮助。
如果您阅读了您发布的日志文件,您可以看到:
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".
这不是有效的 GUID:
192E4G11-F265-QNCE-F1BB-X36916G13D6B
在此处阅读有关 GUID 值的信息:
特别是说的部分:
the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits
请注意您的 GUID 不使用十六进制数字。例如 X
Q
和 N
都是 而不是 十六进制。
根据日志文件错误消息修复您的 GUID。
- 我正在使用在 https://github.com/consolibyte/quickbooks-php 找到的 PHP-devkit
我安装了 QuickBooks Web 连接器 2.2.0.80(目前是最新版本)
我是运行ning QuickBooks Desktop 2018美国企业版
我删除了 .qwc 文件的第一行,因为在尝试删除它之前我遇到了错误。
.QWC 文件:
<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 托管在用于测试的本地虚拟服务器上
QBWC 日志:
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 "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". " />
</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
当我在 QuickBooks 中创建一个新公司然后尝试添加 .qwc 文件时,我在第一次尝试添加 .qwc 文件时能够更进一步。更进一步,我的意思是,当我在“授权新 Web 服务”上单击“确定”时,我不会立即出现错误,但在我单击“确定”之后的页面上出现错误。我在下面粘贴了日志以显示错误有何不同。
QBWC 日志:
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 "{192E4G11-F265-QNCE-F1BB-X36916G13D6B}" in the field "OwnerID". " />
</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
我乐于接受任何建议!我始终确保 运行 QB 作为管理员,打开公司文件,通过 QB 打开 Web 连接器,并通过 UI 在 Web 连接器上添加应用程序。我尝试查找我在日志中遇到的所有错误,但到目前为止没有任何帮助。
如果您阅读了您发布的日志文件,您可以看到:
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".
这不是有效的 GUID:
192E4G11-F265-QNCE-F1BB-X36916G13D6B
在此处阅读有关 GUID 值的信息:
特别是说的部分:
the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits
请注意您的 GUID 不使用十六进制数字。例如 X
Q
和 N
都是 而不是 十六进制。
根据日志文件错误消息修复您的 GUID。