Класс универсальных методов для интеграции с ИМ по REST¶
Существует глобальный класс /TRL/XDE_CL_REST
(тр. SE24), который
содержит в себе универсальные и вспомогательные методы для
взаимодействия с ИМ через REST API. Все методы этого класса являются
статичными, т.е. для их выполнения не требуется создавать объект класса.
Главным методом для работы с REST сервисом для работы с ИМ является метод
DO_OPERATION
, который является Public
методом, все остальные методы
закрыты и находятся в секции Private
.
Имя метода |
Вид |
Видимость |
Описание |
---|---|---|---|
DO_OPERATION |
Static Method |
Public |
Выполнить операцию |
GET_TOKEN |
Static Method |
Public |
Получить токен из БД или REST API |
CLEAR_TOKEN |
Static Method |
Public |
Очистить токен |
GET_FILE |
Static Method |
Public |
Получить файл |
SEND_FILE |
Static Method |
Public |
Отправить файл |
SIGN |
Static Method |
Public |
Подписание данных с помощью CryptoApi сервиса |
GET_CERT |
Static Method |
Public |
Получить данные сертификата |
SAVE_DATABASE |
Static Method |
Private |
Сохранить токен в БД |
DO_REQUEST |
Static Method |
Private |
Выполнить http-запрос |
GET_URI |
Static Method |
Private |
Собрать адрес URI для запроса |
GET_HEADER |
Static Method |
Private |
Собрать заголовок запроса |
GET_REST_SV |
Static Method |
Private |
Получить данные из таблицы |
SAVE_DATABASE
Метод сохраняет в таблицу
/TRL/XDE_REST_SV
значение токена для определенного типа сервиса.
GET_REST_SV
Метод берет данные из таблиц
/TRL/XDE_REST_SV
и/TRL/XDE_REST_ST
по конкретной операции и конкретному REST сервису.
GET_HEADER
Метод собирает заголовок http-запроса, в который попадает значение токена и content-type = application/json.
DO_REQUEST
Метод выполняет http-запрос. В зависимости от настроек
/TRL/XDE_REST_ST-HTTP_TYPE
вызывается стандартный модульHTTP_GET
илиHTTP_POST
.Если запрос выполнен неуспешно – вызывается особая ситуация HTTP_ERROR.
Если запрос выполнен неуспешно (код ответа 401) – вызывается особая ситуация AUTH_ERROR, сообщающая о том, что значение токена не актуально.
Если запрос выполнен успешно (код ответа 200) – работа метода завершается.
GET_URI
Метод собирает URI для выполнения http-запроса. Для этого сначала выполняется метод GET_CUST, затем выбираются данные из таблицы
/TRL/XDE_REST_ST
по коду операции. При необходимости тег из/TRL/XDE_REST_ST-METH_NAME
заменяется на конкретное значение.
DO_OPERATION
Универсальный метод для выполнения всех операций по взаимодействию с ИМ по REST API. Делится на семь этапов:
Получение данных по количеству итераций и времени ожидания между ними с помощью метода
GET_ITERATION_DATA
.Получение токена с помощью метода
GET_TOKEN
.Получение адреса запроса (URI) с помощью метода
GET_URI
.Получение тела запроса с помощью вызова ФМ из
/TRL/XDE_REST_ST-CREATE_BODY
.Получение заголовка запроса с помощью метода
GET_HEADER
.Выполнение http-запроса с помощью метода
DO_REQUEST
(если возникла ошибка аутентификации – этапы 1-5 выполняются повторно).Выполнение обработки тела ответа http-запроса с помощью вызова ФМ из
/TRL/XDE_REST_ST-INPUT_FM
.
GET_TOKEN
Метод проверяет, считан ли из таблицы
/TRL/XDE_REST_SV
токен. Если токен уже заполнен - работа метода заканчивается. Если токен не заполнен - выполняется http-запрос для прохождения авторизации и получения нового токена.
CLEAR_TOKEN
Метод чистит поле
TOKEN
атрибутаMS_REST_SV
, если параметрIV_SAVE
установлен как «X», то вызывается методSAVE_DATABASE
, который очистит значение токена в таблице/TRL/XDE_REST_SV
.
GET_FILE
Метод отправляет файл в архив IM, адрес которого настраивается в
/TRL/XDE_REST_SV
.
SEND_FILE
Метод получает файл из архива IM, адрес которого настраивается в
/TRL/XDE_REST_SV
.
GET_CERT
Метод возвращает электронную подпись по отпечатку сертификата, получаемую через сервис CryptoApi.
SIGN
Метод возвращает файл электронной подписи по отпечатку сертификата, получаемый через сервис CryptoApi для одного или нескольких файлов.