2016-05-18 41 views
0

我使用quickbooks php-devkit設置WebConnect並連接到它,沒有任何問題。QBWebConnector錯誤(QBWC1039)更新Quickbooks後出現錯誤

https://github.com/consolibyte/quickbooks-php

第二天,有一個QuickBooks的更新之前,我跑了,現在我可以在我的應用程序不再添加到WebConnect的。

.QWC文件:

<?xml version="1.0"?> 
<QBWCXML> 
    <AppName>QuickBooks Integrator</AppName> 
    <AppID>1.0</AppID> 
    <AppURL>http://localhost/server.php</AppURL> 
    <AppDescription>TEST STRING</AppDescription> 
    <AppSupport>http://localhost/server.php</AppSupport> 
    <UserName>quickbooks</UserName> 
    <OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
    <FileID>{57F3B9B6-86F1-4fcc-B1FF-967DE1813D20}</FileID> 
    <QBType>QBFS</QBType> 
    <Scheduler> 
     <RunEveryNMinutes>1</RunEveryNMinutes> 
    </Scheduler> 
    <IsReadOnly>false</IsReadOnly> 
</QBWCXML> 

全部QWCLog:

Log file initialized at Wednesday, May 18, 2016 - 2:26 PM UTC 
Timestamp format used: YYYYMMDD.HH:MM:SS UTC 
QBWebConnector 2.0 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. 

20160518.14:26:24 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 
20160518.14:26:24 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 
20160518.14:26:24 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 
20160518.14:26:24 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 
20160518.14:26:24 UTC : QBWebConnector_Load() : 
QuickBooks Web Connector 2.1.0.30 has started. 
Wednesday, May 18, 2016 at 10:26:24 AM 
20160518.14:26:24 UTC : QBWebConnector_Load() : QBWC Form Loaded 
20160518.14:26:24 UTC : QWCReader.ParseQWC() : Contents of QWC file: - 
<QBWCXML> 
    <AppName>QuickBooks Integrator</AppName> 
    <AppID>1.0</AppID> 
    <AppURL>http://localhost/server.php</AppURL> 
    <AppDescription>TEST STRING</AppDescription> 
    <AppSupport>http://localhost/server.php</AppSupport> 
    <UserName>quickbooks</UserName> 
    <OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
    <FileID>{57F3B9B6-86F1-4fcc-B1FF-967DE1813D20}</FileID> 
    <QBType>QBFS</QBType> 
    <Scheduler> 
    <RunEveryNMinutes>1</RunEveryNMinutes> 
    </Scheduler> 
    <IsReadOnly>false</IsReadOnly> 
</QBWCXML> 
20160518.14:26:24 UTC : QBWebConnector.WebServiceManager.ReadQWC(QWCReader QWC) : Parsing application configuration xml file to load its content to variables 
20160518.14:26:26 UTC : QBWebConnector.RegistryManager.createRegKey() : Error creating registry key for appName = <> 
20160518.14:26:26 UTC : QBWebConnector.RegistryManager.createRegKey() : Reason: Value cannot be null. 
Parameter name: name 
20160518.14:26:26 UTC : QBWebConnector.SOAPWebService.SerializeToRegistry() : Error saving QuickBooks Integrator to Registry: Object reference not set to an instance of an object. 
20160518.14:26:26 UTC : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks... 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Application name = QuickBooks Integrator 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Querying company file to find if owner/file id exists. 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Latest QBXML version supported = v12.0 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Querying QuickBooks for existance of owner/file id 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtDefQueryRq requestID="1"><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID></DataExtDefQueryRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: - 

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<DataExtDefQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK"> 
<DataExtDefRet> 
<OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
<DataExtName>AppLock</DataExtName> 
<DataExtType>STR255TYPE</DataExtType> 
<AssignToObject>Company</AssignToObject> 
</DataExtDefRet> 
<DataExtDefRet> 
<OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
<DataExtName>FileID</DataExtName> 
<DataExtType>STR255TYPE</DataExtType> 
<AssignToObject>Company</AssignToObject> 
</DataExtDefRet> 
</DataExtDefQueryRs> 
</QBXMLMsgsRs> 
</QBXML> 


20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Status message: Status OK 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Creating DataExtDef named AppLock assigned to Company object for the ownerID = {90A44FB7-33D9-4815-AC85-AC86A7E7D1EB} 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtDefAddRq requestID="1"><DataExtDefAdd><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID><DataExtName>AppLock</DataExtName><DataExtType>STR255TYPE</DataExtType><AssignToObject>Company</AssignToObject></DataExtDefAdd></DataExtDefAddRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: - 

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<DataExtDefAddRs requestID="1" statusCode="3100" statusSeverity="Error" statusMessage="The name &quot;AppLock&quot; of the list element is already in use." /> 
</QBXMLMsgsRs> 
</QBXML> 


20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Data extension definition has been created in QuickBooks for owner id. 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Registered the AppLock to company file successfully. 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDValueinQB() : Latest QBXML version supported = v12.0 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDValueinQB() : Querying QuickBooks for existance of owner/file id 
20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDValueinQB() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><CompanyQueryRq requestID="1"><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID></CompanyQueryRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.findFileIDValueinQB() : XML dump follows: - 

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<CompanyQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK"> 
<CompanyRet> 
<IsSampleCompany>false</IsSampleCompany> 
<CompanyName>Test Company 2</CompanyName> 
<LegalCompanyName>Test Company 2</LegalCompanyName> 
<Address> 
<State>ON</State> 
<Country>Canada</Country> 
</Address> 
<AddressBlock> 
<Addr1>ON </Addr1> 
</AddressBlock> 
<LegalAddress> 
<State>ON</State> 
<Country>Canada</Country> 
</LegalAddress> 
<FirstMonthFiscalYear>January</FirstMonthFiscalYear> 
<FirstMonthIncomeTaxYear>January</FirstMonthIncomeTaxYear> 
<CompanyType>WholesaleDistributionandSales</CompanyType> 
<TaxForm>FormT2</TaxForm> 
<SubscribedServices> 
<Service> 
<Name>QuickBooks Online Banking</Name> 
<Domain>banking.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Online Billing</Name> 
<Domain>billing.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Online Billing Level 1 Service</Name> 
<Domain>qbob1.qbn</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Online Billing Level 2 Service</Name> 
<Domain>qbob2.qbn</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Online Billing Payment Service</Name> 
<Domain>qbobpay.qbn</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Bill Payment</Name> 
<Domain>billpay.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Online Billing Paper Mailing Service</Name> 
<Domain>qbobpaper.qbn</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Payroll Service</Name> 
<Domain>payroll.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Basic Payroll Service</Name> 
<Domain>payrollbsc.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Basic Disk Payroll Service</Name> 
<Domain>payrollbscdisk.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Deluxe Payroll Service</Name> 
<Domain>payrolldlx.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>QuickBooks Premier Payroll Service</Name> 
<Domain>payrollprm.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>Basic Plus Federal</Name> 
<Domain>basic_plus_fed.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>Basic Plus Federal and State</Name> 
<Domain>basic_plus_fed_state.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>Basic Plus Direct Deposit</Name> 
<Domain>basic_plus_dd.qb</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
<Service> 
<Name>Merchant Account Service</Name> 
<Domain>mas.qbn</Domain> 
<ServiceStatus>Never</ServiceStatus> 
</Service> 
</SubscribedServices> 
<AccountantCopy> 
<AccountantCopyExists>false</AccountantCopyExists> 
</AccountantCopy> 
</CompanyRet> 
</CompanyQueryRs> 
</QBXMLMsgsRs> 
</QBXML> 


20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtAddRq requestID="1"><DataExtAdd><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID><DataExtName>FileID</DataExtName><OtherDataExtType>Company</OtherDataExtType><DataExtValue>{57F3B9B6-86F1-4fcc-B1FF-967DE1813D20}</DataExtValue></DataExtAdd></DataExtAddRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : XML dump follows: - 

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<DataExtAddRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK"> 
<DataExtRet> 
<OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
<DataExtName>FileID</DataExtName> 
<DataExtType>STR255TYPE</DataExtType> 
<DataExtValue>{57F3B9B6-86F1-4fcc-B1FF-967DE1813D20}</DataExtValue> 
</DataExtRet> 
</DataExtAddRs> 
</QBXMLMsgsRs> 
</QBXML> 


20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : Data extension value has been created in QuickBooks for FileID 
20160518.14:26:27 UTC : QBWebConnector.CompanyFileLock.Send_DataExtDefAddRqXML() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtDefAddRq requestID="1"><DataExtDefAdd><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID><DataExtName>AppLock</DataExtName><DataExtType>STR255TYPE</DataExtType><AssignToObject>Company</AssignToObject></DataExtDefAdd></DataExtDefAddRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.CompanyFileLock.Send_DataExtDefAddRqXML() : XML dump follows: - 

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<DataExtDefAddRs requestID="1" statusCode="3100" statusSeverity="Error" statusMessage="The name &quot;AppLock&quot; of the list element is already in use." /> 
</QBXMLMsgsRs> 
</QBXML> 


20160518.14:26:27 UTC : QBWebConnector.CompanyFileLock.Send_DataExtAddRqXML() : XML dump follows: - 

<?xml version="1.0"?><?qbxml version="12.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtAddRq requestID="1"><DataExtAdd><OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID><DataExtName>AppLock</DataExtName><OtherDataExtType>Company</OtherDataExtType><DataExtValue>UNLOCKED: </DataExtValue></DataExtAdd></DataExtAddRq></QBXMLMsgsRq></QBXML> 

20160518.14:26:27 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : QBWC1039: There was a problem adding the application. Check QWCLog.txt for details. 
<QuickBooks found an error when parsing the provided XML text stream.> 
    at Interop.QBXMLRP2.RequestProcessor2Class.ProcessRequest(String ticket, String inputRequest) 
    at QBWebConnector.QBSession.ProcessRequest(String inXML) 
    at QBWebConnector.SessionManager.ProcessRequest(String sessid, String inXML) 
    at QBWebConnector.CompanyFileLock.Send_DataExtAddRqXML(String dataExtAddRqXML) 
    at QBWebConnector.CompanyFileLock..ctor(String sessID, String ownerID, String qbType) 
    at QBWebConnector.WebService.AddToQuickBooks() 
20160518.14:26:42 UTC : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed 

的部分,我懷疑的是與<DataExtValue>UNLOCKED: </DataExtValue>響應。

有人知道可能是什麼原因造成的嗎?

+0

首先,確保在QuickBooks更新後重新啓動。重新啓動。如果您尚未重新啓動,則在運行QuickBooks更新後立即失敗是非常常見的問題。 現在 - 您是否嘗試將.QWC文件添加到Web連接器,或嘗試運行Web連接器? –

+0

我沒有重新啓動幾次,沒有效果。我打開Web連接器,然後通過添加應用程序按鈕將.QWC文件添加到它。這會生成一條錯誤消息,指出它收到格式不正確的XML並檢查日誌。 – DT2K

+0

然後發佈您的.QWC文件。另外 - 爲什麼只是在做QuickBooks更新後再次添加.QWC文件?做QuickBooks更新不會使應用程序從Web連接器中消失...應用程序如何從中刪除? –

回答

0

最終,我不得不重新格式化以解決這個問題(嚴重)。

+0

你重新格式化了什麼? –