我有一个通过 webconnector 的集成应用程序,可以完美地为大约 20 个客户工作。它添加客户、供应商并更新 AP 和 AR,并为我的所有客户顺利接收付款。
我的应用程序还向 QB 请求 AP 和 AR 时效,它适用于除一位客户之外的所有客户。我已经能够复制他们的文件并在实验室中重现问题。我已经包含了 XML 请求和 quickbooks 日志。欢迎任何帮助、建议、线索等。
要求:
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="5.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<AgingReportQueryRq>
<!-- AgingReportType may have one of the following values: APAgingDetail, APAgingSummary, ARAgingDetail, ARAgingSummary, CollectionsReport -->
<AgingReportType >APAgingDetail</AgingReportType>
<ReportPeriod>
<FromReportDate >2013-02-01</FromReportDate>
<ToReportDate >2013-02-28</ToReportDate>
</ReportPeriod>
<IncludeColumn >Name</IncludeColumn>
<IncludeColumn>RefNumber</IncludeColumn>
<IncludeColumn>Date</IncludeColumn>
<IncludeColumn>OpenBalance</IncludeColumn>
<IncludeColumn>Memo</IncludeColumn>
<IncludeColumn>Account</IncludeColumn>
<IncludeColumn>NameAccountNumber</IncludeColumn>
<IncludeColumn>TxnID</IncludeColumn>
</AgingReportQueryRq>
</QBXMLMsgsRq>
</QBXML>
日志是:
Log file initialized at Wednesday, February 27, 2013 - 12:15 AM 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.
20130227.00:15:06 UTC : QBWebConnector.SOAPWebService.do_receiveResponseXML() : hresult=""
20130227.00:15:06 UTC : QBWebConnector.SOAPWebService.do_receiveResponseXML() : message=""
20130227.00:15:07 UTC : QBWebConnector.SOAPWebService.do_receiveResponseXML() : QBWC1042: ReceiveResponseXML failed
Error message: The request failed with HTTP status 404: Not Found.
More info:
StackTrace = at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at QBWebConnector.localhost.WCWebServiceDoc.receiveResponseXML(String ticket, String response, String hresult, String message)
at QBWebConnector.localhost.WCWebService.receiveResponseXML(String ticket, String response, String hresult, String message)
at QBWebConnector.SOAPWebService.receiveResponseXML(String wcTicket, String response, String hresult, String message)
at QBWebConnector.WebService.do_receiveResponseXML(String wcTicket, String response, String hresult, String message, Boolean& success, Boolean& timeout)
Source = System.Web.Services
20130227.00:15:07 UTC : QBWebConnector.CompanyFileLock.Send_CompanyQueryRqXML() : XML dump follows: -
<?xml version="1.0"?><?qbxml version="10.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><CompanyQueryRq requestID="1"><OwnerID>{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}</OwnerID></CompanyQueryRq></QBXMLMsgsRq></QBXML>
20130227.00:15:07 UTC : QBWebConnector.CompanyFileLock.Send_CompanyQueryRqXML() : XML dump follows: -
<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<CompanyQueryRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<CompanyRet>
<IsSampleCompany>false</IsSampleCompany>
<CompanyName>DFW JAVV BUS INC</CompanyName>
<LegalCompanyName>DFW JAVV BUS INC</LegalCompanyName>
<Address>
<Addr1>105 101TH Street #501</Addr1>
<City>Little Prairie</City>
<State>CA</State>
<PostalCode>95050</PostalCode>
<Country>US</Country>
</Address>
<AddressBlock>
<Addr1>105 108TH Street #501</Addr1>
<Addr2>Little Prairie, CS 95050</Addr2>
</AddressBlock>
<LegalAddress>
<Addr1>1010 A N Davis Dr</Addr1>
<City>Lomita</City>
<State>CA</State>
<PostalCode>96012</PostalCode>
<Country>US</Country>
</LegalAddress>
<Phone>972-522-1500</Phone>
<FirstMonthFiscalYear>January</FirstMonthFiscalYear>
<FirstMonthIncomeTaxYear>January</FirstMonthIncomeTaxYear>
<CompanyType>other</CompanyType>
<EIN>20-3726264</EIN>
<TaxForm>Form1120S</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>
<DataExtRet>
<OwnerID>{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}</OwnerID>
<DataExtName>AppLock</DataExtName>
<DataExtType>STR255TYPE</DataExtType>
<DataExtValue>LOCKED:QAXP1JV_VM:634975201418013380</DataExtValue>
</DataExtRet>
<DataExtRet>
<OwnerID>{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}</OwnerID>
<DataExtName>FileID</DataExtName>
<DataExtType>STR255TYPE</DataExtType>
<DataExtValue>{714E8016-F6D4-4530-AFC3-995A34F3F7CE}</DataExtValue>
</DataExtRet>
</CompanyRet>
</CompanyQueryRs>
</QBXMLMsgsRs>
</QBXML>
20130227.00:15:07 UTC : QBWebConnector.CompanyFileLock.getLock() : Got Lock = LOCKED:QAXP1JV_VM:634975201418013380
20130227.00:15:07 UTC : QBWebConnector.CompanyFileLock.Send_DataExtModRqXML() : XML dump follows: -
<?xml version="1.0"?><?qbxml version="10.0"?><QBXML><QBXMLMsgsRq onError="stopOnError"><DataExtModRq requestID="1"><DataExtMod><OwnerID>{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}</OwnerID><DataExtName>AppLock</DataExtName><OtherDataExtType>Company</OtherDataExtType><DataExtValue>UNLOCKED:QAXP1JV_VM</DataExtValue></DataExtMod></DataExtModRq></QBXMLMsgsRq></QBXML>
20130227.00:15:08 UTC : QBWebConnector.CompanyFileLock.Send_DataExtModRqXML() : XML dump follows: -
<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<DataExtModRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<DataExtRet>
<OwnerID>{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}</OwnerID>
<DataExtName>AppLock</DataExtName>
<DataExtType>STR255TYPE</DataExtType>
<DataExtValue>UNLOCKED:QAXP1JV_VM</DataExtValue>
</DataExtRet>
</DataExtModRs>
</QBXMLMsgsRs>
</QBXML>
20130227.00:15:08 UTC : QBWebConnector.CompanyFileLock.unsetLock() : Company file has been unlocked for ownerID = <{ADB06C95-6FC7-4D8D-AC30-6A28E24AAB22}>
20130227.00:15:08 UTC : QBWebConnector.SOAPWebService.update() : Company file has been unlocked.
20130227.00:15:08 UTC : QBWebConnector.SOAPWebService.update() : Ending session to QuickBooks.
20130227.00:15:08 UTC : QBWebConnector.SOAPWebService.DisconnectFromQB() : Session ended and connection closed
20130227.00:15:08 UTC : QBWebConnector.SOAPWebService.do_closeConnection() : *** Calling closeConnection() with following parameter:<wcTicket="03dfdb40-3588-4d1b-b51f-000b3d2de071">
20130227.00:15:10 UTC : QBWebConnector.SOAPWebService.do_closeConnection() : Received from closeConnection() following parameter:<ccResponse="OK">
20130227.00:15:10 UTC : QBWebConnector.SOAPWebService.do_closeConnection() : CloseConnection called to application.
20130227.00:15:10 UTC : QBWebConnector.SOAPWebService.do_closeConnection() : Response received from application = OK
20130227.00:15:10 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20130227.00:15:10 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20130227.00:15:10 UTC : QBWebConnector.SOAPWebService.update() : update completed.
20130227.00:15:10 UTC : QBWebConnector.WebServiceManager.DoUpdateSelected() : Update for application = 'jvQBWebSyncApplication' has COMPLETED
20130227.00:15:10 UTC : QBWebConnector.WebServiceManager.DoUpdateSelected() : Update session has ended.