вызов клиента php soap magento soap v2 api Метод входа в веб-сервис завершается неудачно с параметром Ошибка не найден - PullRequest
3 голосов
/ 14 января 2012

magento 1.6, php 5.3.8, windows 7, iis 7.5

следуйте примеру на mangento, но не можете заставить его работать.

старый API v1 работает, хотя

последний запрос: строка (233) "zzc000" последний ответ: строка (294) "SOAP-ENV: ClientError не может найти параметр"

<?php
try{

    $proxy = new SoapClient('http://127.0.0.1/Magento1620/index.php/api/v2_soap?wsdl=1', array('trace' => 1, 'connection_timeout' => 120));

    $sessionId = $proxy->login("zzc000", "zzc000");

    $filters = array(
        'sku' => array('like'=>'zol%')
    );

    $products = $proxy->call($sessionId, 'product.list', array($filters));

    var_dump($products);       

    /*
    $proxy = new SoapClient('http://127.0.0.1:50594/webservice1.asmx?WSDL');

    var_dump($proxy->HelloWorld());
    */

} catch (Exception $e) {
    var_dump($proxy->__getLastRequest());
    var_dump($proxy->__getLastResponse());

    //echo 'Caught exception: ',  $e->getMessage(), "\n";
    //var_dump($e->getTraceAsString());
}
?>

, пожалуйста, помогите

спасибо


Я поставил веб-сервис как WS-I-совместимый API-интерфейс v2. WSDL это повлияет на что-нибудь?

после небольшого исследования, теперь я могу войти, используя следующий код, но яне могу получить продукты

$sessionId = $proxy->login(array(
        'username' => "zzc000",
        'apiKey' => "zzc000"
    ));

, но я получил следующее исключение при попытке перечислить продукты

SOAP-ERROR: Encoding: object has no 'sessionId' property

, используя следующий код

$filters = array(
        'sku' => array('like'=>'zol%')
    );

    $products = $proxy->catalogProductList($sessionId, $filters);

1 Ответ

0 голосов
/ 14 января 2012

если вы используете API v2_soap, вызов функции немного отличается. Вместо call () вы должны использовать api-метод в верблюжьей клетке. e.g.:

$products=$proxy->catalogProductInfo($sessionId,$sku);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...