Модуль умеет мониторить состояние подключения, если тип подключения 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;
}

0  


 Описание модуля | Описание курса | Контроль доступа по IP