Magento 1.9.1.0、SOAP、WS-I 兼容。我正在尝试更新产品数量,magento 返回“成功”,数量保持不变(没有改变)。如何从 SOAP 更改产品数量?
要求:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<catalogInventoryStockItemMultiUpdateRequestParam xmlns="urn:Magento">
<sessionId xmlns="">32efdfffb0f27f43f3ee0073a9351de3</sessionId>
<productIds xmlns="">
<complexObjectArray>9198</complexObjectArray>
</productIds>
<productData xmlns="">
<complexObjectArray>
<qty>17</qty>
<is_in_stock>1</is_in_stock>
</complexObjectArray>
</productData>
</catalogInventoryStockItemMultiUpdateRequestParam>
</s:Body>
</s:Envelope>
回复:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">
<SOAP-ENV:Body>
<ns1:catalogInventoryStockItemMultiUpdateResponseParam>
<result>true</result>
</ns1:catalogInventoryStockItemMultiUpdateResponseParam>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我刚刚尝试过这个并且有效
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento">
<soapenv:Header/>
<soapenv:Body>
<urn:catalogInventoryStockItemMultiUpdateRequestParam>
<sessionId>ddaf6e2b9bf7055ae59b7cbeeca9c894</sessionId>
<productIds>
<!--Zero or more repetitions:-->
<complexObjectArray>764</complexObjectArray>
</productIds>
<productData>
<!--Zero or more repetitions:-->
<complexObjectArray>
<!--Optional:-->
<qty>9</qty>
<use_config_notify_stock_qty>1</use_config_notify_stock_qty>
</complexObjectArray>
</productData>
</urn:catalogInventoryStockItemMultiUpdateRequestParam>
</soapenv:Body>
</soapenv:Envelope>
这是结果
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">
<SOAP-ENV:Body>
<ns1:catalogInventoryStockItemMultiUpdateResponseParam>
<result>true</result>
</ns1:catalogInventoryStockItemMultiUpdateResponseParam>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>