Для использования веб-службы с отслеживанием состояния необходимо установить идентификатор сеанса сеанса сервера в файле cookie SOAP на стороне клиента.По умолчанию каждый раз, когда отправляется запрос SOAP, сервер генерирует уникальный идентификатор сеанса.Чтобы предотвратить это, просто установите идентификатор сеанса, полученный из первого запроса в SOAP cookie.Этот файл cookie будет отправлен вместе со всеми последующими мыльными вызовами.Например, если вы используете веб-сервис ASP.net с использованием SOAP, то после первого вызова WS получите заголовки ответа, например:
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
$headers = $client->__getLastResponseHeaders();
Теперь $headers
должен содержать идентификатор сеанса с именем, например'ASP.NET_SessionId.Получите идентификатор из $headers
и создайте файл cookie следующим образом:
//$client->__setCookie($cookieName, $cookieValue);
$client->__setCookie('ASP.NET_SessionId', $cookieValue);
Теперь все запросы SOAP от вашего клиента будут содержать этот идентификатор сеанса, и ваше состояние будет сохраняться на сервере.