Estou usando o Magento CE 1.7.0.2 com SOAPv2 e WS-I. Estou tentando atualizar produtos com o catalogProductUpdate
-Method.
A descrição no exemplo de código abaixo é atualizada, mas o atributo do fabricante (= select) não. O resultado de catalogProductUpdate
é bool(true)
.
Eu tentei algumas variações (não muito boas, mas estou desesperada ;-)) como:
- atribua o valor inteiro 777 para
$manufacturer->value
definir o valor - dentro / sem o campo Additional_attributes, defina o ID do produto (mas tenho certeza de que ele precisa ser definido em Additional_attributes)
- defina o nome do fabricante como em
$manufacturer->value
vez do 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:
- Eu testei com SOAPv2 sem WS-I - funciona bem.
- Também criei outro atributo para testar com as mesmas configurações (Dropdown, Scope, ...) que também não são atualizadas com o SOAPv2 WS-I, mas com o SOAPv2. Portanto, esses atributos recém-criados se comportam como atributo de fabricante.
- Tentar definir o valor de um campo de texto dentro dos atributos_ adicionais não funciona também.
Alguma idéia, links, sugestões sobre isso?
Link: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html
fonte