Estoy usando Magento CE 1.7.0.2 con SOAPv2 y WS-I. Estoy tratando de actualizar productos con el catalogProductUpdate
método.
La descripción en el ejemplo de código a continuación se actualiza, pero el atributo del fabricante (= select) no. El resultado de catalogProductUpdate
es bool(true)
.
Intenté algunas variaciones (no demasiado buenas, pero estoy desesperada ;-)) como:
- asigne el valor entero 777 para
$manufacturer->value
establecer el valor - dentro / sin el campo Additional_attributes establezca la identificación del producto (pero estoy seguro de que debe establecerse dentro de Additional_attributes)
- establecer el nombre del fabricante como en
$manufacturer->value
lugar del valor 777
Código:
$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'
));
Editar:
- Lo probé con SOAPv2 sin WS-I, funciona bien.
- También creé otro atributo para probar con la misma configuración (Desplegable, Alcance, ...) que tampoco se actualiza con SOAPv2 WS-I pero sí con SOAPv2. Por lo tanto, estos atributos recién creados se comportan como el atributo del fabricante.
- Intentar establecer el valor de un campo de texto dentro de los atributos adicionales no funciona tampoco.
¿Alguna idea, enlaces, sugerencias sobre esto?
Enlace: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html