Пример php-кода для программной проверки SOAP-соединения в Magento 2

Я попробовал приведенный ниже код, хотя я не уверен, что это необходимый набор скриптов, но он не сработал и дает

"SOAP-ERROR: Parsing WSDL: Couldn't load from  : Start tag expected, '<' not found"

$wsdlUrl = 'http://localhost/magento20_0407/soap/default?wsdl_list=1';
$apiUser = 'testUser'; 
$apiKey = 'admin123';
$token = 'xioxnuuebn7tlh8ytu7781t14w7ftwmp';

$opts = array('http' => array('method' => "GET", 'header' => "Accept-language: en\r\nConnection: close\r\n")); 
$context = stream_context_create($opts); 
stream_context_set_option($context, "http", "protocol_version", 1.1); 
fpassthru(fopen($wsdlUrl, 'r', false, $context)); 
$opts = array('http'=>array('header' => 'Authorization: Bearer '.$token));
$serviceArgs = array("id"=>1);

try{
    $context = stream_context_create($opts);
    $soapClient = new SoapClient($wsdlUrl, array('version' => SOAP_1_2, 'context' => $context));
    $soapResponse = $soapClient->customerCustomerAccountServiceV1($serviceArgs);
}catch(Exception $e){
    $e->getMessage();
}
    var_dump($soapResponse);exit;

Может ли кто-нибудь поделиться кодом для создания SOAP-соединения в Magento2.x

В Magento1.x приведенный ниже код отлично работает для подключения SOAP.

$apiUrl = 'http://localhost/magento_28_03/index.php/api/soap?wsdl';
$apiUser = 'testUser'; 
$apiKey = 'admin123';

ini_set("soap.wsdl_cache_enabled", "0");
try{
    $client = new SoapClient($apiUrl, array('cache_wsdl' => WSDL_CACHE_NONE));
} catch (SoapFault  $e) {
    echo 'Error in Soap Connection : '.$e->getMessage();
}
try {
    $session = $client->login($apiUser, $apiKey);
    if($session) echo 'SOAP Connection Successful.';
    else echo 'SOAP Connection Failed.';

} catch (SoapFault  $e) {
    echo 'Wrong Soap credentials : '.$e->getMessage();
}   

Но вышеописанное не работает для Magento1.x. Кто-нибудь может сказать, какие изменения в приведенном выше коде должны работать нормально для Magent2.x?


person Ipsita Rout    schedule 11.07.2016    source источник


Ответы (1)


"SOAP-ERROR: Parsing WSDL: Couldn't load from  : Start tag expected, '<' not found"

Сообщает вам все, что вам нужно знать, URL-адрес, который вы пытаетесь загрузить, не является правильным WSDL.

Каково содержимое: http://localhost/magento20_0407/soap/default?wsdl_list=1

person GunniH    schedule 11.07.2016
comment
Это ответ xml, то же самое мы получаем, запуская apiUrl в случае Magento1.x. - person Ipsita Rout; 11.07.2016
comment
Судя по полученной вами ошибке, это не XML, который начинается с ‹ Все WSDL начинаются со следующего: ‹?xml version=1.0 - person GunniH; 11.07.2016
comment
Я проверил источник представления этого xml. Все правильно определено. И более того, этот формат исходит от Magento, верно? - person Ipsita Rout; 11.07.2016
comment
Есть ли пробел в начале файла или ‹?xml version=1.0 encoding=UTF-8?›__HERE__‹определения...... ? - person GunniH; 11.07.2016
comment
Я скопировал исходный код представления и вставил в текстовый файл. Тщательно проверил. Там вообще нет места. Только новая линия. НО НЕТ ПРОСТРАНСТВА. - person Ipsita Rout; 11.07.2016