Sudzc для веб-сервисов Magento - PullRequest
0 голосов
/ 20 марта 2012

Я в очень плохой ситуации, я получил классыjectiveC с сайта sudzc. используя "http://www.xxx.in/mstore/api/soap/?wsdl"

в классе "SDZMagentoServiceExample.m" я получаю один метод

[вызов службы: собственное действие: @selector (callHandler :) sessionId: @ "" resourcePath: @ "catalog_category.level" args: (id) args];

Это всегда дает мне ошибку параметра, как «Запрошен неверный код сайта:« если я передам словарь или массив в аргументах.

Пожалуйста, помогите мне, я в очень плохом положении.

спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

Я не смогу помочь вам в коде 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", вы получите требуемый вывод из этого API веб-службы.

Кроме того, всякий раз, когда вы используете Magento SOAP API v1, каждый из аргументов должен быть элементом массива.В этом случае ниже приведены основные параметры, ожидаемые для этого вызова API "category.level": -

  1. Код веб-сайта или идентификатор
  2. Код представления магазина или идентификатор
  3. Идентификатор родительской категории

Итак, вам нужно создать массив и последовательно поместить каждый из приведенных выше аргументов в качестве элементов массива, например: -

array(
    $websiteCode,
    $storeCode,
    $parentCategoryId
)

Наконец, пожалуйста, убедитесь, чточто вы ссылаетесь на эту статью всегда, поскольку здесь вы можете использовать почти все методы API веб-службы.

Надеюсь, это поможет.

0 голосов
/ 20 марта 2012

С

/**
 * 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.

...