Веб-сервис NuSoap PHP с заголовками мыла

Мне интересно, как реализовать аутентификацию заголовка мыла на сервере веб-службы мыла с использованием библиотеки NuSoap.

Я видел много примеров о клиенте NuSoap, но хочу реализовать это на сервере.


person joat11    schedule 09.10.2011    source источник


Ответы (1)


Объект soapserver содержит заголовок soap в виде ассоциативного массива в свойстве requestHeader, поэтому, если вы сможете найти способ получить экземпляр сервера из своей функции, вы сможете получить soapHeader.

<?php
require_once './nusoap/nusoap.php';

//Declare the server as a global, for brevity
global $server;

//Instantiate, configure and run as usual
$server = new nusoap_server();
$server->configureWSDL("namespace...", "...");
$server->register("myHandler");
$server->service(isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '');

//My handling function:
function myHandler() {
    //Get your server instance:
    global $server;

    //Abra Kadabra alakazam! your soap header :D
    var_dump($server->requestHeader);
}

Очевидно, для этого есть лучшие методы кодирования, но вы поняли идею. Кроме того, whatchout для свойства requestHeaders, так как оно содержит заголовки HTTP, а не заголовок SOAP, помните: requestHeader БЕЗ завершающей буквы 's' — ваш выбор.

person user1778770    schedule 20.09.2013