Класс универсальных методов для интеграции с ИМ по 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 для одного или нескольких файлов.