0

如何使用Advanced SOAP 1.2 API的 runQuery 命令更新 3D Cart 的 Product Options Stock?

需要明确的是,我不是指使用 Basic SOAP 1.2 API 公开的updateProductInventory 。

以下是我的请求,没有标题并使用虚拟存储和密钥。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <runQuery xmlns="http://3dcart.com/">
            <storeUrl>mystore.3dcartstores.com</storeUrl>
            <userKey>12345678901234567890123456789012</userKey>
            <sqlStatement> update options_Advanced SET AO_Stock = 117 WHERE AO_Suffix = '1346106BLK'</sqlStatement>
            <callBackURL/>
        </runQuery>
    </soap:Body>
</soap:Envelope>

我收到以下神秘的回复。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <runQueryResponse xmlns="http://3dcart.com/">
            <runQueryResult>
                <runQueryResponse xmlns="">
                    <Error>
                        <Id>99</Id>
                        <Description>No value given for one or more required parameters.</Description>
                    </Error>
                </runQueryResponse>
            </runQueryResult>
        </runQueryResponse>
    </soap:Body>
</soap:Envelope>
4

1 回答 1

0

在咨询了 3D Cart 支持后,我找到了以下答案。

试试这个: update options_Advanced SET AO_Stock = 117 WHERE AO_Sufix = '1346106BLK' 不幸的是,我们的数据库字段中有错字。因此,您应该使用 AO_Sufix 而不是 AO_Suffix

数据库文档仍然错误地将列标识为AO_Suffix.

正确的请求如下。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <runQuery xmlns="http://3dcart.com/">
            <storeUrl>mystore.3dcartstores.com</storeUrl>
            <userKey>12345678901234567890123456789012</userKey>
            <sqlStatement> update options_Advanced SET AO_Stock = 117 WHERE AO_Sufix = '1346106BLK'</sqlStatement>
            <callBackURL/>
        </runQuery>
    </soap:Body>
</soap:Envelope>
于 2014-06-05T18:38:08.707 回答