1. Развлекательный портал
  2. Публикации
  3. Программирование
  4. PHP
  5. PHP SoapClient и WS-Security Header
2949
0 /5 Stars by
0
0
15:49 - 23.10.2013

PHP SoapClient и WS-Security Header

WS-Security - это всеобъемлющая концептуальная модель, абстрагирующая различные технологии защиты в "формулы" и "обозначения" ("claims" and "tokens")... Для управляющей информации используются SOAP-заголовки. Это главное место, где обитает SOAP-защита. Здесь также размещена информация системного уровня, используемая для управления сообщением и для его защиты. SOAP-системы времени исполнения и SOAP-программы промежуточного уровня обрабатывают директивы SOAP-заголовка. Заголовки предназначены для добавления новых функциональных возможностей, и здесь будут размещаться заголовки WS-Security. Отправитель может потребовать понимания заголовка получателем. Заголовки общаются непосредственно с SOAP-процессорами и могут потребовать, чтобы процессор отклонил все SOAP-сообщение, если он не понимает заголовок. Если заголовок содержит критическую защищенную информацию, которую не понимает SOAP-процессор, вы, вероятно, не захотите обрабатывать это SOAP-сообщение вообще
предлогаю вам следующий PHP код на рассмотрение:





 


 /**
 Пример: 
 include('WsSoapClient.php');
 $url = "WSDL адресс";
 $client = new WsSoapClient($url);
 $client->__setUsernameToken('Логин','Пароль');
 $params=array(); //Параметры сервиса пишем здесь
 $result=$client->__soapCall('название функции',$params);
 print_r($result);//выводим полученный результат.
 */


class WsSoapClient extends SoapClient{
 private $username;
 private $password;

 /*Generates de WSSecurity header*/
 private function wssecurity_header(){
 //The timestamp. The computer must be on time or the server you are connecting may reject the password digest for security.
 $timestamp = gmdate('Y-m-d\TH:i:s\Z');
 //A random word. The use of rand() may repeat the word if the server is very loaded.
 $nonce = mt_rand();
 $passdigest = $this->password;

 $auth='
   '.$this->username.' '.$passdigest.' '.base64_encode(pack('H*',$nonce)).' '.$timestamp.'   ';

 //XSD_ANYXML (or 147) is the code to add xml directly into a SoapVar. Using other codes such as SOAP_ENC, it's really difficult to set the correct namespace for the variables, so the axis server rejects the xml.
 $authvalues = new SoapVar($auth, XSD_ANYXML);
 $header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", $authvalues, true);

 return $header;
 }

 /**
 * It's necessary to call it if you want to set a different user and password
 */
 public function __setUsernameToken($username, $password)
 {
 $this->username = $username;
 $this->password = $password;
 }


 /**
 * Overwrites the original method adding the security header. As you can see, if you want to add more headers, the method needs to be modifyed
 */
 public function __soapCall($function_name,$arguments,$options=null, $input_headers=null,$output_headers=null)
 {
 $result = parent::__soapCall($function_name,$arguments,$options,$this->wssecurity_header());

 return $result;
 }

}



PHP SoapClient и WS-Security Header

Для возможности комментировать пройдите .
Архив:

Рубрики публикаций

Авто 1263 Архитектура 2449 Велосипеды 67 Вертолёты 19 Дети 166 Дом 680 Еда 603 Жизнь 7389 Звёзды 2061 Игры 179 Искусство 3939 Карьера 65 Кино 825 Корабли 111 Космос 476 Красота 446 Любовь 91 Мода 2042 Мото 173 Музыка 155 Оружие 170 Природа 2121 Программирование 7 Самалёты 100 Спорт 287 Сэкс 44 Тайны 110 Технологии 892 Туризм 1012
18+ Развлекательный портал dosug.md - лучший сайт с ежедневными обновлениями.Всё самое свежее: места отдыха и развлечения на карте, мировые и региональные новости, публикации, афиши, фильмы, объявления(работа, авторынок, недвижимость ...), знакомства, форум, всё для свадьбы, картинки, приколы, юмор есть у нас на сайте ежедневно! Постоянное обновление мест отдыха и развлечений, актуальные новости,объявления, новые вакансии. Удобынй поиск на карте мест равзлечений. Вы любите путешествовать? самые свежие туры. У нас есть приколы на видео, которые можно смотреть онлайн. Мы делаем подборки, где популярные звезды голливуда на фото отдыхают и развлекаются, скандалы звезд, знаменитости в бикини.
Disclaimer: Все права на публикуемые аудио, видео, графические и текстовые материалы принадлежат их владельцам.
© 2011–2022
Top
Подождите идёт перенаправление
Подождите идёт перенаправление
Сообщение
Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт, обслуживание и товары.
Подтверждаю Подробнее