我将Magento CE 1.7.0.2与SOAPv2和WS-I结合使用。我正在尝试使用catalogProductUpdate-Method 更新产品。
下面的代码示例中的描述已更新,但制造商属性(= select)未更新。的结果catalogProductUpdate是bool(true)。
我尝试了一些(不太好,但我很拼命;-)),例如:
- 分配整数值777来$manufacturer->value设置值
- 在extra_attributes字段之内/之外,设置产品ID(但我确定需要在Additional_attributes中设置)
- 将制造商名称设置为$manufacturer->value而不是值777
码:
$newProductData = new stdClass();
$additionalAttrs = array();
$manufacturer = new stdClass();
$manufacturer->key = "manufacturer";
$manufacturer->value = "777";
$additionalAttrs['single_data'][] = $manufacturer;
$newProductData->description = "Description Test1";
$newProductData->additional_attributes = $additionalAttrs;
$result = $client->catalogProductUpdate((object)array('sessionId' => $sessionId,
        'productId' => "2110000010058 ",
        'productData' => (object)$newProductData,
        NULL,
        'sku'
    ));编辑:
- 我使用不带WS-I的SOAPv2进行了测试-正常工作。
- 我还创建了另一个用于测试的属性,它们具有相同的设置(Dropdown,Scope等),该属性也不会随SOAPv2 WS-I一起更新,但会随SOAPv2一起更新。因此,这些新创建的属性充当制造商属性。
- 尝试在Additional_attributes中设置文本字段的值也不起作用。
有任何想法,链接,建议吗?
链接:http: //www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html