Intereting Posts
Пользователи Symfony 2 FOS UserBundle не получают роль группы Кэширование запросов изображений через PHP – If-Modified – Поскольку не отправляется Возвращение заголовка в виде массива с помощью Curl Сохранение вывода openssl_random_pseudo_bytes в Postgres с использованием php? Я получаю сообщение об ошибке: неверная последовательность байтов для кодирования "UTF8" Сравнение строк php с 0 integer возвращает true? Репозитории Laravel Mysqli объединяет таблицы из двух разных баз данных Сохранение статей и связанных с ними категорий в соответствии с нормализацией Сессия PHP не работает Получение изображений продукта с помощью API BigCommerce php создать файл и отправить в виде вложения без фактического создания файла PHP Предупреждение: сеанс активен. Вы не можете изменить настройки ini-модуля сеанса в это время в /../ Как отобразить массив, извлеченных данных из базы данных, в раскрывающийся список в CakePHP? Как получить список плагинов в плагине WordPress? Удалить папку и все файлы по FTP-соединению

Как читать данные из заголовка SOAP на стороне клиента

У меня есть ответ SOAP, который выглядит как

<soap:Envelope> <soap:Header> <AuthorizationToken soap:mustUnderstand="1"> <Token>5c31cca8-8303-4d01-a564-a99569a0963a</Token> </AuthorizationToken> </soap:Header> <soap:Body> <AuthenticateResponse> <AuthenticateResult>http://www.avectra.com/OnDemand/2005/</AuthenticateResult> </AuthenticateResponse> </soap:Body> </soap:Envelope> 

и не знаю, как читать данные из заголовка (получить значение токена). Я использую SoapClient из PHP5.

С http://drupalcode.org/project/netforum.git/blob/refs/heads/master:/xwebSecureOD.class.inc похоже, что это должно работать:

 $soapclient->__soapCall($fname, $arguments, null, $this->getAuthHeaders(), $responseHeaders); $responseHeaders['AuthorizationToken']->Token; 

Эта ссылка имеет класс, который расширяет объект мыла PHP и выполняет некоторые операции кэширования и drupal, но вы должны иметь возможность удалить эти фрагменты и оставить новый класс, который прозрачно обрабатывает раздвижной маркер авторизации, используемый netFORUM.

Согласно руководству :

 $soapclient->__soapCall("soapmethod", array(parameters), null, $input_headers, &$output_headers); 

$ output_headers затем должны содержать заголовки из ответного сообщения.

Я получил это от JackTheKnife на http://hardforum.com/showthread.php?t=1651481

  $result = $service->getLastResponse(); $xmlString = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $result); $xml = simplexml_load_string($xmlString); $token = $xml->soapHeader[0]->AuthorizationToken[0]->Token;