Несколько заказов в заказе на продажу Добавить запрос в qbxml

Я пытаюсь добавить заказ на продажу в quickbooks с помощью Quickbooks Webconnector. Когда я добавляю один заказ, он успешно добавлен, но когда я пытаюсь добавить несколько заказов в один qbxml, quickbooks выдает следующую ошибку.

"message="QuickBooks обнаружил ошибку при синтаксическом анализе предоставленного текстового потока XML."

Ниже приведен запрос QBXML, отправленный

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?qbxml version="8.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <SalesOrderAddRq>
            <SalesOrderAdd defMacro="MACROTYPE">
                <CustomerRef>
                    <FullName>Amazon.com.nvdc, Inc</FullName>
                </CustomerRef>
                <TxnDate>2014-07-29</TxnDate>
                <BillAddress>
                    <Addr1>RNO1</Addr1>
                    <City>Fernley</City>
                    <State>NV</State>
                    <PostalCode>89408-8903</PostalCode>
                    <Country>US</Country>
                </BillAddress>
                <PONumber>TST00003</PONumber>
                <DueDate>2014-07-29</DueDate>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLU</FullName>
                    </ItemRef>
                    <Desc>ES-10BLU</Desc>
                    <Quantity>3</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUINVALID</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUINVALID</Desc>
                    <Quantity>4</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUDISC</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUDISC</Desc>
                    <Quantity>5</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
            </SalesOrderAdd>
            <SalesOrderAdd defMacro="MACROTYPE">
                <CustomerRef>
                    <FullName>Amazon.com.nvdc, Inc</FullName>
                </CustomerRef>
                <TxnDate>2014-07-29</TxnDate>
                <BillAddress>
                    <Addr1>RNO1</Addr1>
                    <City>Fernley</City>
                    <State>NV</State>
                    <PostalCode>89408-8903</PostalCode>
                    <Country>US</Country>
                </BillAddress>
                <PONumber>TST00004</PONumber>
                <DueDate>2014-07-29</DueDate>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLU</FullName>
                    </ItemRef>
                    <Desc>ES-10BLU</Desc>
                    <Quantity>3</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUINVALID</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUINVALID</Desc>
                    <Quantity>4</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUDISC</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUDISC</Desc>
                    <Quantity>5</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
            </SalesOrderAdd>
            <SalesOrderAdd defMacro="MACROTYPE">
                <CustomerRef>
                    <FullName>Amazon.com.nvdc, Inc</FullName>
                </CustomerRef>
                <TxnDate>2014-07-29</TxnDate>
                <BillAddress>
                    <Addr1>RNO1</Addr1>
                    <City>Fernley</City>
                    <State>NV</State>
                    <PostalCode>89408-8903</PostalCode>
                    <Country>US</Country>
                </BillAddress>
                <PONumber>TST00005</PONumber>
                <DueDate>2014-07-29</DueDate>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLU</FullName>
                    </ItemRef>
                    <Desc>ES-10BLU</Desc>
                    <Quantity>3</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUINVALID</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUINVALID</Desc>
                    <Quantity>4</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
                <SalesOrderLineAdd>
                    <ItemRef>
                        <FullName>ES-10BLUDISC</FullName>
                    </ItemRef>
                    <Desc>ES-10BLUDISC</Desc>
                    <Quantity>5</Quantity>
                    <UnitOfMeasure>EA</UnitOfMeasure>
                    <Rate>100.0</Rate>
                </SalesOrderLineAdd>
            </SalesOrderAdd>
        </SalesOrderAddRq>
    </QBXMLMsgsRq>
</QBXML>

Поддерживает ли quickbooks отправку нескольких заказов на продажу в одном запросе qbxml или принимает только один заказ в одном запросе?


person Raghav    schedule 06.08.2014    source источник


Ответы (1)


Всякий раз, когда вы видите это сообщение об ошибке:

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

Самое первое, что вы должны сделать, — это запустить свой XML с помощью инструмента XML Validator, входящего в состав QuickBooks SDK.

Если вы это сделаете, вы получите это обратно:

Line: 48
LinePos: 49
Src Text: <SalesOrderAdd defMacro="MACROTYPE">
Reason: Element content is invalid according to the DTD/Schema.
Expecting: IncludeRetElement.

Это в основном говорит вам, что этот тег:

<SalesOrderAdd

В этой строке:

Line: 48

Не правильно.

Это неправильно, потому что вы не закрыли свой тег </SalesOrderAddRq> перед открытием нового тега <SalesOrderAdd>. Вместо этого у вас должно быть это в строке 48:

    </SalesOrderAdd>
</SalesOrderAddRq>  <!-- close the first request we're making... -->

<SalesOrderAddRq>  <!-- ... before starting our second request -->
    <SalesOrderAdd>
person Keith Palmer Jr.    schedule 06.08.2014
comment
Спасибо, Кит... Это действительно помогло - person Raghav; 07.08.2014