|
|
Модуль умеет мониторить состояние подключения, если тип подключения SOAP.
Но модуль не знает, каким способом мониторить состояние подключения, если тип подключения HTTP. Ответ всегда будет true - веб-сервис работает.
Вы можете для всего типа или только для отдельных подключений написать собственный обработчик - функцию askaron_client1c_custom_check_monitoring
Пример в /loca/php_inteface/init.php
Самодельная проверка
function askaron_client1c_custom_check_monitoring( \Askaron\Client1c\BaseConnection $obConnecton ): bool
{
$result = true;
// Можно проверить тип и сделать обработку для всех подключений типа HTTP. Для SOAP проверка своя есть, а для HTTP нет.
if ($obConnecton->getType() == "HTTP")
{
// Можно проверить только для отдельных подключений
if ($obConnecton->getCode() == "default_http" || $obConnecton->getCode() == "default_http_reserve")
{
// Надо сделать какой-нибудь запрос, чтобы убедиться, что веб-сервис живой.
$result = false;
$path = $obConnecton->getPath();
$login = $obConnecton->getLogin();
$password = $obConnecton->getPassword();
$token = $obConnecton->getToken();
$httpClient = new Bitrix\Main\Web\HttpClient(
array(
'redirect' => true,//делаем редиректы, если требуется
'redirectMax' => 5,//но не более 5
'disableSslVerification' => true,
)
);
if ( mb_strlen( $login ) > 0 )
{
$httpClient->setAuthorization( $login, $password );
}
if ( mb_strlen( $token ) > 0 )
{
$path = $path.'?token='.$token;
}
$requestData = $httpClient->get( $path );
if ( $requestData !== false && $httpClient->getStatus() == 200 )
{
$result = true;
}
}
}
return $result;
}
Описание модуля |
Описание курса
| Контроль доступа по IP
|