У меня есть набор API-интерфейсов мыла, которые могут выполнять такие действия, как логин, выход из системы, keepalive, доступ к другим ресурсам. Для доступа к другим ресурсам мне нужно пройти сеанс id, который я получил от login api. Сессия получает тайм-аут через 5 минут. Я смущен тем, как это сделать.Как использовать SOAP API с именем входа и сеансом codeigniter
Я использую codeigniter для моего проекта, и я создал одну библиотеку с набором заданных в ней запросов на мыло api.
class Soap_api
{
function __construct()
{
define("UID", "myuser");
define("PWD", "34rf3a45575");
define("API_ENDPOINT", "http://uat-api.testingsoapapi.in/services/smp");
define("PRODUCT_CODE", "24");
$resp = $this->keepAliveLib();
if($resp['ResponseCode'] == '0')
{
define("SessionID",$resp['SessionID']);
}
}
function keepAliveLib()
{
$resp = $this->login();
return $resp;
}
function one
{
//This function needs the sessionID receieved from login function
}
function two
{
//This function needs the sessionID receieved from login function
}
Так что, когда-либо какой-либо из функций из этого класса доступен, конструктор вызывает keepAliveLib, который вызывает функцию Логин проживания в этом классе и вернуть идентификатор сеанса в функции конструктора и установить его в качестве глобальной константы SESSIONID . Так что функция, которую я вызывал, будет использовать идентификатор сеанса, который создается как константа.
Это стандартный способ вызова API-интерфейсов, которые ретранслируют на сеансах? Функция входа вызывается, когда вызывается функция, и создает другой идентификатор сеанса. В библиотеке есть функция keepAlive
, которая может использоваться для поддержки сессии, но вместо использования keepAlive, я регистрирую каждый раз, когда функция в этом доступна.
Есть ли что-то не так в этом потоке? Можно ли это сделать другими способами?