Использование гостевого подключения

Для какой-либо ознакомительной работы с веб-сервисом может быть организована работа через гостевое соединение. Для работы такого соединения предварительно на BI-сервере необходимо в реестре сохранить учетные данные пользователя, которые будут использоваться для авторизации. Для этого в командной строке от имени администратора запустите утилиту PP.Util с параметрами /save_creds  <id репозитория> /gc <имя пользователя>. При работе через гостевое соединение будет возможность выполнять операции для тех объектов, на которые имеются права доступа у пользователя, чьи учетные данные были сохранены.

После этого для выполнения операций веб-сервиса может быть использован моникёр следующего вида: «<id репозитория>!Guest!M». При первом обращении с моникером данного вида на BI-сервере создается гостевое соединение. Для выполнения операций, работающих с объектами репозитория, моникёр объектов формируется по тому же принципу, как и при обычном соединении: «<id репозитория>!Guest!M!<id или key объекта>».

Закрывать гостевое соединение не требуется, оно будет завершено автоматически по истечению времени ожидания, заданного в настройках BI-сервера.

Примечание. При работе с гостевым соединением операции OpenMetabase и CloseMetabase не используются.

Пример

Пример проверки статуса состояния гостевого соединения. Если гостевое соединение еще не создано, то оно будет создано автоматически при выполнении операции GetStatus.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetStatus xmlns="http://www.fsight.ru/PP.SOM.Som">
<tArg xmlns=" ">
<metabase>
  <id>PPREPOSITORY!Guest!M</id>
  </metabase>
  </tArg>
  </GetStatus>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<GetStatusResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <version xmlns=" ">Предварительная версия 10.1.23417 [юникод]</version>
  <release xmlns=" ">10.1</release>
  <metabaseSessionTimeout xmlns=" ">00:30:00.000</metabaseSessionTimeout>
  <metabaseStoreBinaryCount xmlns=" ">0</metabaseStoreBinaryCount>
  <metabaseLocale xmlns=" ">1033</metabaseLocale>
  <metabaseConnectionPoolMaxCount xmlns=" ">0</metabaseConnectionPoolMaxCount>
  </GetStatusResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{

 "GetStatus" :

  {

   "tArg" :

    {

     "metabase" :

      {

       "id" : "PPREPOSITORY!Guest!M"

      }

    }

  }

}

JSON-ответ:

{

 "GetStatusResult" :

  {

   "version" : "Предварительная версия 9.7.23417 [юникод]",

   "release" : "9.7",

   "metabaseSessionTimeout" : "00:30:00.000",

   "metabaseStoreBinaryCount" : "0",

   "metabaseLocale" : "1033",

   "metabaseConnectionPoolMaxCount" : "0"

  }

}

public static GetStatusResult TestGuestConnect(string mbDefinitionId)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tStatus = new GetStatus()
{
tArg = new GetStatusArg()
{
metabase = new MbId() { id = mbDefinitionId + "!Guest!M" }
}
};
// Получение информации о веб-сервисе
var result = somClient.GetStatus(tStatus);
return result;
}

См. также:

Подключение к веб-сервису | Настройка гостевого входа