Веб-коннектор Quickbooks дает ошибку синтаксического анализа при попытке добавить счет с полем InventorySiteRef

Веб-коннектор Quickbooks выдает ошибку синтаксического анализа при попытке добавить счет с полем InventorySiteRef.

0x80040400: QuickBooks обнаружил ошибку при анализе предоставленного текстового потока XML.

Ниже мой поток XML.

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
    <QBXMLMsgsRq onError="continueOnError">
    <InvoiceAddRq requestID="' . $requestID . '">
        <InvoiceAdd>
            <CustomerRef>
                <ListID>' . $invoice['customer_id'] . '</ListID>
            </CustomerRef>
            <RefNumber>' . $invoice['ref_number'] . '</RefNumber>
            <BillAddress>
                <Addr1>' . $invoice['bill_addr1'] . '</Addr1>
                <Addr2>' . $invoice['bill_addr2'] . '</Addr2>
                <Addr3>' . $invoice['bill_addr3'] . '</Addr3>
                <Addr4>' . $invoice['bill_city'] . '</Addr4>
                <State>' . $invoice['bill_state'] . '</State>
                <PostalCode>' . $invoice['bill_postalcode'] . '</PostalCode>
            </BillAddress>
            <ShipAddress>
                <Addr1>' . $invoice['ship_addr1'] . '</Addr1>
                <Addr2>' . $invoice['ship_addr2'] . '</Addr2>
                <Addr3>' . $invoice['ship_addr3'] . '</Addr3>
                <Addr4>' . $invoice['ship_city'] . '</Addr4>
                <State>' . $invoice['ship_state'] . '</State>
                <PostalCode>' . $invoice['ship_postalcode'] . '</PostalCode>
            </ShipAddress>
            <PONumber>' . $invoice['po_number'] . '</PONumber>
            <DueDate>' . $invoice['due_date'] . '</DueDate>
            <ShipDate>' . $invoice['ship_date'] . '</ShipDate>
            <Memo>' . $invoice['memo'] . '</Memo>
            <InvoiceLineAdd>
                <ItemRef>
                    <FullName>'.$line['item_name'].'</FullName>
                </ItemRef>
                <Quantity>'.$line['quantity'].'</Quantity>
                <Rate>'.$line['rate'].'</Rate>
                <Amount>'.$line['amount'].'</Amount>
                <InventorySiteRef>
                    <FullName>Odessa</FullName>
                </InventorySiteRef>
                <InventorySiteLocationRef>
                    <FullName>Odessa</FullName>
                </InventorySiteLocationRef>
            </InvoiceLineAdd>
        </InvoiceAdd>
    </InvoiceAddRq>
</QBXMLMsgsRq>

Я также пробовал только с

<InventorySiteRef>
    <FullName>Odessa</FullName>
</InventorySiteRef>

А также пробовал только с

<InventorySiteLocationRef>
    <FullName>Odessa</FullName>
</InventorySiteLocationRef>

Когда я попытался добавить счет без тегов InventorySiteRef и InventorySiteLocationRef, счет-фактура был успешно создан

Я думаю, что InventorySiteRef не определен, где-то в QuickBooks consolibyte PHP DevKit.


person Mohsan Azad    schedule 02.05.2017    source источник
comment
Возможный дубликат Quickbooks WebConnector Как добавить счет-фактуру с местоположением/сайтом товара   -  person Keith Palmer Jr.    schedule 02.05.2017
comment
Нет, это не дубликат, это как-то совпадает. но использование тега xml InventorySiteRef дает ошибку синтаксического анализа xml   -  person Mohsan Azad    schedule 03.05.2017
comment
Это точно такой же запрос, и мой ответ содержал информацию о том, как устранить эту конкретную проблему. Если вы прочитаете мой ответ, он точно расскажет вам, как устранить неполадки и исправить это.   -  person Keith Palmer Jr.    schedule 03.05.2017
comment
Спасибо @KeithPalmerJr. Программа QBXML SDK Validate решила мою проблему   -  person Mohsan Azad    schedule 03.05.2017


Ответы (1)


Включите подробное ведение журнала и посмотрите, что на самом деле генерируется QBXML. QBXML будет в файле журнала. https://help.developer.intuit.com/s/article/QBD-QBSDK-Logging

Возьмите сгенерированный QBXML и запустите его через программу проверки, включенную в QBXML SDK.

Убедитесь, что у вас правильный порядок тегов и что он соответствует экранному справочному руководству. https://developer-static.intuit.com/qbsdk-current/common/newosr/index.html

person William Lorfing    schedule 02.05.2017
comment
Спасибо, что сообщили мне о программе проверки QBXML SDK, она решила мою проблему. - person Mohsan Azad; 03.05.2017