Magento SOAP API和PHP:一项产品没有标识符或sku

时间:2015-11-28 05:44:14

标签: php api magento soap

美好的一天,在这种情况下需要帮助。我们的客户有Magento ver 1.9系统,我无法访问。他们要求我们创建一个移动应用程序,我们使用PHP Laravel 5.1作为代理rest api来调用Magento的SOAP API V2。其中一项服务是将产品添加到购物车。我已使用此引用http://www.magentocommerce.com/api/soap/checkout/cartProduct/cart_product.add.html但不幸的是,当我致电该服务时,我收到此错误

public class ProductList extends Activity
{
    String m_brandName, m_modelName, m_categoryName;
    ListView mListView;
    private static ProductList actAppChartCatList;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

        m_brandName = getIntent().getStringExtra("Brand_Name");
        m_modelName = getIntent().getStringExtra("Model_Name");
        m_categoryName = getIntent().getStringExtra("Category_Name");

        actAppChartCatList = this;

        setContentView(R.layout.activity_product_list);

        mListView = (ListView) findViewById(R.id.showProductLists);
    }
    public static ProductList getInstance()
    {
        return actAppChartCatList;
    }
}

以下是php代码的片段:

"One item of products do not have identifier or sku"

这是Json请求

$data = array_add($data, 'product_id', $request->json('product_id'));
$data = array_add($data, 'sku', $request->json('sku'));
$data = array_add($data, 'qty', $request->json('qty'));
$data = array_add($data, 'options', $request->json('options'));
$data = array_add($data, 'bundleOption', $request->json('bundleOption'));
$data = array_add($data, 'bundleOptionQty', $request->json('bundleOptionQty'));
$data = array_add($data, 'links', $request->json('links'));

try {
    $result = $client->shoppingCartProductAdd($sessionId,$cartId,$data);

    if ($result) {
        return $this->respond([
            'message' => 'Product Successfully added to Cart.'
        ]);
    }

} catch (SoapFault $e) {
    $message = $e->getMessage();
    return $this->respondInternalError($message);
}

我确定该产品已存在,因为我使用api来调用产品列表。我尝试过这个解决方案 - > Magento SOAP API v2 shoppingCartProductAdd error “One item of products do not have identifier or sku”但它不适合我。

1 个答案:

答案 0 :(得分:0)

我刚刚解决了这个问题。似乎我的数据数组的格式不正确,因为Magento的样本声明:

$result = $proxy->shoppingCartProductAdd($sessionId, 10, array(array(
'product_id' => '4',
'sku' => 'simple_product',
'qty' => '5',
'options' => null,
'bundle_option' => null,
'bundle_option_qty' => null,
'links' => null
)));

虽然我的示例中的$ data只是一个数组。