Я использую Consolibyte PHP SDK для рабочего стола QuickBooks. У меня есть эта ошибка, когда я пытался получить счета из QuickBooks Desktop –
0x80040400:QuickBooks found an error when parsing the provided XML text stream.
Запрос XML приведен ниже, и я думаю, что XML действителен и конечная точка BillQuery поддерживает IteratiorID-
<?xml version="1.0" encoding="utf-8"?> <?qbxml version="13.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <BillQueryRq iterator="Start" requestID="1"> <MaxReturned>10</MaxReturned> <FromModifiedDate>1983-01-02T12:01:01</FromModifiedDate> <IncludeLineItems>true</IncludeLineItems> <OwnerID>0</OwnerID> </BillQueryRq> </QBXMLMsgsRq> </QBXML>
Перейдите к документации по ЛАРН:
Фильтр FromModifiedDate
очень четко обернут внутри другого узла XML:
<ModifiedDateRangeFilter> <!-- optional --> <FromModifiedDate >DATETIMETYPE</FromModifiedDate> <!-- optional --> <ToModifiedDate >DATETIMETYPE</ToModifiedDate> <!-- optional --> </ModifiedDateRangeFilter>
Исправьте свой XML, чтобы он соответствовал тому, что показывает OSR.
Если бы вы потратили время на поиск, вы обнаружите, что в XML Validator
SDK есть инструмент XML Validator
который точно скажет вам, что такое ошибка в вашем XML.