Подключение к репозиторию

Работа с репозиторием через веб-сервис начинается с подключения к репозитрию. Для этого предназначена операция OpenMetabase. Авторизация при подключении может осуществляться различными способами: прямое указание логина и пароля пользователя, с использованием цифровой подписи, протоколов OAuth или SAML. В зависимости от выбранного способа авторизации может потребоваться предварительная настройка BI-сервера. Различные настройки, которые могут быть проведены на стороне BI-сервера, описаны в следующих подразделах:

Результатом работы операции OpenMetabase будет моникер, который в дальнейшем будет использоваться для выполнения различных операций по управлению репозиторием и работы с его объектами. Список доступных операций и их описание представлено в разделе «Операции сервиса PP.SOM». Также имеется ряд оптимизированных операций, которые не используют JSON/SOAP структуры, а выполняются путем указании их в адресной строке при обращении к BI-серверу.

Также для ознакомительной работы с веб-сервисом может быть организовано гостевое подключение не требующее специального подключения к репозиторию через операцию OpenMetabase.

Пример

Ниже приведен пример кода html-страницы, при открытии которой будет осуществляться подключение к репозиторию через BI-сервер, расположенный по адресу, заданному в переменной svc. Описание репозитория, зарегистрированное в реестре BI-сервера, должно иметь идентификатор «PPREPOSITORY». При выполнении кода по подключению в тексте html-страницы будет отображен отправляемый запрос и результат его выполнения: ответ, полученный от BI-сервера, или код ошибки, если подключение к репозиторию невозможно.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head>     <title>Example for web service</title>     <meta http-equiv="X-UA-Compatible" content="IE=8" > </head> <body>     <script language="javascript" type="text/javascript">     <!--Адрес, по которому доступен BI-сервер-->     var svc = "http://localhost:9090/axis2/services/PP.SOM.Som";     <!--JSON-запрос на открытие репозитория-->     OpenMetabase = { "OpenMetabase": { "tDef": { "id": "PPREPOSITORY" }, "tCreds": { "user": { "id": "pprepository" }, "pass": "pprepository" } } }     <!--Выполнение запроса-->     OpenMetabaseResult = PostRequest(svc, OpenMetabase);     <!--Функция для отправки JSON-запроса-->     function PostRequest(url, request) {         document.writeln("<hr>Запрос:<p>" + JSON.stringify(request) + "<p>");         <!--Отправка запроса-->         var xhr = new XMLHttpRequest();         xhr.open("POST", url, false);         xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');         xhr.send(JSON.stringify(request));         if (xhr.status == 200) {             document.writeln("Ответ:<p>"  + xhr.responseText + "<p>");             return eval("(" + xhr.responseText + ")");         } else {             document.writeln("Ошибка выполнения запроса:<p>" + xhr.responseText + "<p>");             return { "error" : true };         }     }     </script> </body> </html>

См. также:

Подключение к веб-сервису | Использование гостевого подключения