加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Magento WS-I兼容v2 API WSDL Web服务SOAP-ERROR:编码:对象没

发布时间:2020-12-14 18:42:43 所属栏目:资源 来源:网络整理
导读:我在WS-I兼容模式下使用Magento v2 Web服务 当试图列出产品时,我得到例外 SOAP-ERROR: Encoding: object has no 'sessionId' property 我的代码列在下面 $proxy = new SoapClient('http://127.0.0.1/Magento1620/index.php/api/v2_soap?wsdl',array('trace'
我在WS-I兼容模式下使用Magento v2 Web服务

当试图列出产品时,我得到例外

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

我的代码列在下面

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

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

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

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

请帮忙,谢谢

解决方法

在WS-I模式下,使用API??有一些细微差别.

> $proxy-> login()的结果是一个对象.您需要提取sessionId.
>调用$proxy-> catalogProductList()时,需要在关联数组中提供参数(就像使用$proxy-> login()一样).

请试试这个:

<?php

try {
    error_reporting(E_ALL | E_STRICT);
    ini_set('display_errors',1);
    $proxy = new SoapClient('http://127.0.0.1/Magento1620/index.php/api/v2_soap?wsdl','connection_timeout' => 120));

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

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

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

    echo '<h1>Result</h1>';
    echo '<pre>';
    var_dump($products);
    echo '</pre>';

} catch (Exception $e) {
    echo '<h1>Error</h1>';
    echo '<p>' . $e->getMessage() . '</p>';
}

这同样适用于符合WS-I的v2 SOAP API的其他方法调用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读