Sudzc用于Magento Web服务

时间:2012-03-20 09:55:28

标签: iphone objective-c magento wsdl sudzc

我处境非常糟糕,我从sudzc网站获得了objectiveC课程。 使用“http://www.xxx.in/mstore/api/soap/?wsdl”

在“SDZMagentoServiceExample.m”类中我得到一个方法

[服务电话:自我行动:@selector(callHandler :) sessionId:@“”resourcePath:@“catalog_category.level”args:(id)args];

它总是给我参数错误 “请求无效的网站代码:”如果我在args中传递字典或数组。

请帮助我,我处境非常糟糕。

提前感谢。

2 个答案:

答案 0 :(得分:0)

来自

/**
 * Catalog category api
 *
 * @category   Mage
 * @package    Mage_Catalog
 * @author     Magento Core Team <core@magentocommerce.com>
 */
class Mage_Catalog_Model_Category_Api extends Mage_Catalog_Model_Api_Resource
{

以下代码:

/**
 * Retrieve level of categories for category/store view/website
 *
 * @param string|int|null $website
 * @param string|int|null $store
 * @param int|null $categoryId
 * @return array
 */
public function level($website = null, $store = null, $categoryId = null)
{

所以也不接受数组或字典。只有原始字符串或int值。

答案 1 :(得分:0)

我无法在Objective C代码中为您提供帮助,但我可以向您展示PHP的一些亮点。你可以试试这种类型的电话: -

$proxy = new SoapClient('http://www.iphone5case.in/mstore/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');

/**
 * As defined in the "Manage Stores" section of Admin panel,
 * where you need to use the specific Website Code and/or Store Code
 */
$websiteCode = null;
$storeCode = 'german';

// Parent Category ID
$parentCategoryId = 2;

$firstLevel = $proxy->call($sessionId, 'category.level', array($websiteCode, $storeCode, $parentCategoryId));

现在,如果您打印此变量“$firstLevel”,您将从此Web服务API获得所需的输出。

此外,无论何时使用Magento SOAP API v1,每个参数都需要作为数组元素。在这种情况下,以下是此API调用“category.level”所需的主要参数: -

  1. 网站代码或ID
  2. 商店查看代码或ID
  3. 父类别ID
  4. 因此,您需要创建一个数组,并将上述每个参数按顺序放入数组元素,如: -

    array(
        $websiteCode,
        $storeCode,
        $parentCategoryId
    )
    

    最后,请确保您始终引用this article,因为您可以在此处使用几乎所有的Web Service API方法。

    希望它有所帮助。