Magento SOAP salesOrderInvoiceCreate无法识别订单

时间:2015-01-03 11:51:25

标签: php magento soap

我试图通过Magento SOAP API提高订单发票,但我得到的订单不存在'我知道存在增量ID的错误。

我的SOAP请求生成的XML是:

<?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >
        <soap:Body>
            <salesOrderInvoiceCreate xmlns="urn:Magento">
                <sessionId>a4b84a4900415cb6a61b3f81e4fxxxx4</sessionId> 
                <orderIncrementId>100000001</orderIncrementId>
                <itemsQty SOAP-ENC:arrayType="SOAP-ENC:Array[1]" xsi:type="SOAP-ENC:Array">
                    <item><order_item_id>1</order_item_id>
                    <qty>1.0000</qty>
                    </item>
                </itemsQty>
                <email>liam@xxxxxxx.com</email>
             </salesOrderInvoiceCreate>
    </soap:Body>
</soap:Envelope>

我回复的回应是

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>103</faultcode>
<faultstring>Requested order not exists.</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我不确定我是否没有通过正确的值,但我使用的其他方法(加载订单等)都按预期工作。

任何建议都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,显然文档错了。

根据Magento文档: http://www.magentocommerce.com/api/soap/sales/salesOrderInvoice/sales_order_invoice.create.html

期待orderIncrementId的参数

但是,我已经检查过WSDL,并且它期望有一个invoiceIncrementId字段,尽管它仍然应该包含订单的增量ID - 去图。