2014-01-27 5 views
1

Я был застрял в ошибке HTTP 400 «Плохой запрос» при попытке подключения к API в течение некоторого времени.PHP NuSoap правильный способ отправки заголовков

У меня такое чувство, что это связано с заголовками, но я не уверен.

Мой запрос касается результата запроса SOAP и правильно ли я устанавливаю заголовки.

Так код, который я должен задать заголовок является

$proxy->setHeaders('<soap:Header><AuthenticationSoapHeader xmlns="https://www.xxxxx.com/ASPAPI"><Token>xxxxx-xxxxx-xxxx</Token></AuthenticationSoapHeader></soap:Header>'); 

Я тогда сделать вызов к функции API и передать строку XML непосредственно после установки заголовков, например, так:

$result = $proxy->call('ValidateService', array('serviceXML' => $xml)); 

Однако выход при печати $proxy->request это так:

[TOKEN VALUE FROM HEADER HERE][CONTENTS OF XML STRING HERE] 

так й e request строка в основном выводит содержимое внутри тега <token> в заголовке, за которым следует строка XML.

Правильно ли, что значение <token> указано в запросе вместе со строкой XML? У меня такое чувство, что я могу неправильно установить заголовки.

ответ

2

Проблема заключается в заголовках.

В <soap:Header> открытие & закрывающие теги были причиной HTTP Error 400 "Bad Request"

$proxy->setHeaders('<soap:Header><AuthenticationSoapHeader xmlns="https://www.xxxxx.com/aspapi"><Token>xxxxx</Token></AuthenticationSoapHeader></soap:Header>'); 

Должно быть

$proxy->setHeaders('<AuthenticationSoapHeader xmlns="https://www.xxxxx.com/aspapi"><Token>xxxxx</Token></AuthenticationSoapHeader>');