SOAP v1 Magento上product_atribute.create中的错误参数

时间:2014-10-28 17:59:18

标签: api magento exception soap parameters

Magento 1.9 API SOAP v1

我真的需要帮助!我厌倦了尝试解决这个问题......

问题在于我尝试调用 product_attribute.create

    $arr = array('id_text',array(
        'frontend_input' => 'Voltage',
        'default_value' => '1',
        'is_configurable' => 0,
        'used_in_product_listing' => 0,
        'is_visible_on_front' => 0,
        'is_comparable' => 0,
        'is_used_for_promo_rules' => 0,
        'is_required' => 0,
        'scope' => 'store',
        'is_unique' => 0,
        'is_searchable' => 0,
        'attribute_code' => '12345',
        'is_visible_in_advanced_search' => 0,
        'frontend_label' => array('store_id' => '1', 'label' => '220V')
    ));

    try {
        $result = $soap->call($session, 'product_attribute.create',  $arr);
    } catch (SoapFault $e) {
        echo '<p style="color:red;">'.$e -> getMessage().'</p>';
        return false;
    }

结果返回并停止执行或当我删除I​​D('id_text')时返回 102 - 无效的必需参数

1 个答案:

答案 0 :(得分:1)

您是否在API中看到了product_attribute.create函数?它只需要一个参数。函数可以参考 - app \ code \ core \ Mage \ Catalog \ Model \ Product \ Attribute \ Api.php --- create()

您正在传递两个参数,第一个是id_text,第二个是属性数据数组。 2个参数仅由product_attribute.update接受。在该API中,您必须将第一个参数作为要更新的属性的attribute_code传递。

您可以尝试使用以下数组调用product_attribute.create API吗?

$arr = array(
        'frontend_input' => 'Voltage',
        'default_value' => '1',
        'is_configurable' => 0,
        'used_in_product_listing' => 0,
        'is_visible_on_front' => 0,
        'is_comparable' => 0,
        'is_used_for_promo_rules' => 0,
        'is_required' => 0,
        'scope' => 'store',
        'is_unique' => 0,
        'is_searchable' => 0,
        'attribute_code' => '12345',
        'is_visible_in_advanced_search' => 0,
        'frontend_label' => array('store_id' => '1', 'label' => '220V')
    );