Как установить заголовки запроса в запросе SOAP с помощью набора инструментов Nu SOAP - PullRequest
0 голосов
/ 03 апреля 2020

Может кто-нибудь сказать мне, как добавить заголовки запроса для ключей подписки в запросе SOAP. Я использую Nu SOAP инструментарий для совершения SOAP звонков. Установка ключей для авторизации SOAP звонков мне кажется сложной. Пока я не передал ключи подписки в заголовках запросов, я не получил доступ.

Я пытался:

$this->nusoap_client->setHeaders("<soapHeader xmlns='http://test.com/'>
    <Ocp-Apim-Subscription-Key>***mykey***</Ocp-Apim-Subscription-Key>
</soapHeader>");

, но при этом добавлялись ключи к заголовку soap вместо заголовка запроса ,

Затем я попытался:

header("Ocp-Apim-Subscription-Key: ***mykey***");

, но все еще без надежды, теперь он добавлен в заголовок ответа.

Я использую $this->nusoap_client->call() для совершения вызова SOAP и получить ответ

{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

заранее спасибо.

1 Ответ

0 голосов
/ 07 апреля 2020

Ну, я сам нашел решение. Не знаю, если это правильный путь или нет! В любом случае, я хотел бы опубликовать свое решение здесь, оно может оказаться полезным для кого-то.

Я решил эту проблему, изменив файл класса библиотеки nu soap. Модифицированная функция soap_transport_http для установки заголовков как:

$this->setHeader('Ocp-Apim-Subscription-Key', '***myKey***');

Может быть, это неправильный способ изменить заголовки в запросе SOAP, но это работает для меня. Пожалуйста, поставьте свой ответ, если вы найдете лучшее решение.

...