FB3
Новичок
Soap client - как сохранить объект на время сессии
Имеется веб-интерфейс к SOAP интерфейсу.
В сессии хранится логин и пароль пользователя.
При каждом обращении пользователя к странице создается новый объект SOAP клиента (если быть точнее, то унаследованного от него класса) и SOAP клиент логинится на сервер.
Залогиниться на сервер - два запроса по SOAP, по времени обычно получается не меньше секунды.
Соответственно, хотелось бы после первичного логина пользователя в веб-интерфейсе сохранять объект SOAP клиента как-нибудь, чтобы не логиниться каждый раз им по SOAP, для того, чтобы сократить время отклика интерфейса на эту вышеуказанную секунду.
Сервер различает залогиненные клиенты SOAP по какому-то внутреннему идентификатору SOAP клиента. Не лез в подробности, но просто проверил, вставив sleep, что через 20 минут новый запрос тем же объектом выполнился. Но не выполнился новым объектом (при запросе другой страницы после логина в веб-интерфейс) при условии, что в самих запросах sessionId (назначеный при залогинивании) был одинаковый.
Кстати, надо проверить, создав дважды в одном скрипте разные soapClient и попробовав отправить запросы, но думаю, что результат будет тот же самый.
Вообщем, проблема такая, что встроенные классы PHP нельзя сериализовать и сохранить в сессии.
Существуют ли какие-нибудь решения?
-~{}~ 23.12.08 17:59:
Подумал, что можно взять nusoap (реализация soap на PHP) попробовать. Как считаете, хорошее решение?
Уж он то должен сериализоваться нормально в сессию, поскольку является классом, написанным на PHP.
Имеется веб-интерфейс к SOAP интерфейсу.
В сессии хранится логин и пароль пользователя.
При каждом обращении пользователя к странице создается новый объект SOAP клиента (если быть точнее, то унаследованного от него класса) и SOAP клиент логинится на сервер.
Залогиниться на сервер - два запроса по SOAP, по времени обычно получается не меньше секунды.
Соответственно, хотелось бы после первичного логина пользователя в веб-интерфейсе сохранять объект SOAP клиента как-нибудь, чтобы не логиниться каждый раз им по SOAP, для того, чтобы сократить время отклика интерфейса на эту вышеуказанную секунду.
Сервер различает залогиненные клиенты SOAP по какому-то внутреннему идентификатору SOAP клиента. Не лез в подробности, но просто проверил, вставив sleep, что через 20 минут новый запрос тем же объектом выполнился. Но не выполнился новым объектом (при запросе другой страницы после логина в веб-интерфейс) при условии, что в самих запросах sessionId (назначеный при залогинивании) был одинаковый.
Кстати, надо проверить, создав дважды в одном скрипте разные soapClient и попробовав отправить запросы, но думаю, что результат будет тот же самый.
Вообщем, проблема такая, что встроенные классы PHP нельзя сериализовать и сохранить в сессии.
Существуют ли какие-нибудь решения?
-~{}~ 23.12.08 17:59:
Подумал, что можно взять nusoap (реализация soap на PHP) попробовать. Как считаете, хорошее решение?
Уж он то должен сериализоваться нормально в сессию, поскольку является классом, написанным на PHP.