Ошибка EBay API SOAP - заголовок "X-EBAY-API-APP-NAME" не существует - PHP - PullRequest
0 голосов
/ 10 декабря 2018

У меня проблема с вызовом API GetTokenStatus, использующим библиотеки PHP SOAP.Я всегда получаю сообщение о сбое SOAP «Заголовок« X-EBAY-API-APP-NAME »не существует» После поиска здесь и на других сайтах я получил следующий код:

$apiCall = 'GetTokenStatus';
$context = array('http' => array('header'  => "X-EBAY-API-APP-NAME: $appId\r\n"));
$soap_options = array(
    'stream_context' => stream_context_create($context),
    'trace' => 1,
    'exceptions' => false,
    'location' => $ApiSite . '/wsapi?callname=' . $apiCall . '&appid=' . $appId . '&siteid=' . $SiteID. '&version=821&routing=new'
);

$client = new SOAPClient($wsdl_url, $soap_options);
$requesterCredentials = new stdClass();
$requesterCredentials->eBayAuthToken = $token;
$header = new SoapHeader('urn:ebay:apis:eBLBaseComponents', 'RequesterCredentials', $requesterCredentials);

$params = array('Version' => 821);

$responseObj = $client->__soapCall($apiCall, array($params), null, $header);

Когда я пытаюсь ответить, всегда указывается строка ошибки SOAP

EBay API SOAP fault - Header "X-EBAY-API-APP-NAME" does not exists

Я ставлю __getLastRequestHeaders после вызова, чтобы увидеть заголовок и результат:

POST / wsapi?callname = GetTokenStatus & appid = [MyAppId] & siteid = 101 & version = 821 & routing = новый HTTP / 1.1 Хост: api.ebay.com Подключение: пользовательский агент Keep-Alive: PHP-SOAP / 7.2.8 Тип содержимого: text / xml;charset = utf-8 SOAPAction: "" Content-Length: 1297 X-EBAY-API-APP-NAME: [MyAppId]

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

...