2012-01-14 1 views
3

Magento 1.6, PHP 5.3.8, Windows 7, Iis 7,5PHP метода мыльного клиента вызов Magento мыло v2 API веб-службу Войти неудачу с ошибкой не удается найти параметр

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

старый 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 совместимый v2 API 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

Это был дан в http://stackoverflow.com/questions/8867614/magento-ws-i-compliant-v2-api-wsdl-web-service-soap-error-encoding-object- имеет –

ответ

0

если вы используете v2_soap апи, то вызов функции сл совершенно разные. Вместо call() вы должны использовать метод api с верблюжьим корпусом. например:

$products=$proxy->catalogProductInfo($sessionId,$sku); 
+0

[link] (http://stackoverflow.com/a/8862288/1015655) @sebastian_sch проблема в том, что я даже не могу вызвать метод входа в систему, чтобы начать сеанс. '$ sessionId = $ proxy-> login ("zzc000", "zzc000"); этот вызов через исключение – Joe

Смежные вопросы