问题
我在使用 Magento SOAP api 创建订单时遇到问题。我已经准备好所有必需品(下面的代码片段),但每次我尝试创建订单时,它都会失败,状态码为 1008(请参阅Magento Docs)。
虽然没有错误消息,所以我只知道订单创建失败。
$cart_id = $magi->execute("cart.create");
$customerEntity = $magi->execute("customer.info",5);
$customerEntity["mode"] = "customer";
$customerAddressEntity = $magi->execute("customer_address.info",$customerEntity["default_billing"]);
$customerAddressEntity["mode"] = "billing";
$magi->execute("cart_customer.set", array($cart_id,$customerEntity));
$magi->execute("cart_customer.addresses", array($cart_id,array($customerAddressEntity)));
$productEntity = array("product_id" => 48,"qty" => 1);
$magi->execute("cart_product.add",array($cart_id,array($productEntity)));
$magi->execute("cart_payment.method",array($cart_id,array("method" => "banktransfer")));
$orderId = $magi->execute("cart.order", array($cart_id));
在 magento 日志中,此操作后会记录以下消息。
未定义的偏移量:0/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Checkout/Model/Cart/Payment/Api.php
未定义变量:websiteId/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php。
(此条目在此条目之后重复 3 次,每次相隔半秒)。
我在这里不知所措,几周前它处于工作状态,从那时起没有太大变化。
更多信息
$magi变量包含一个对象,该对象是使用 Magento Soap api 的抽象对象。它还捕获并记录所有错误,因此此代码中没有 try/catch 块。
- Magento 版本:1.7.0.0
- php版本5.4.6
- 服务器操作系统:Ubuntu 11.10(开发服务器)