Показать / скрыть оглавление

    Параметризация HTTP заголовков узла Веб-сервис REST/JSON

    Задача

    Получить от веб-сервиса аутентификации JWT токен по переданным параметрам учетной записи и отправить данные удалённому веб-сервису с аутентификацией по полученному токену.

    Исходные данные

    Перед тем как приступить к решению задачи, необходимо изучить веб-сервис, предоставляющий JWT токены, и веб-сервис, принимающий данные с аутентификацией.
    Для воспроизведения задачи в тестовом режиме, при построении процесса будут использованы тестовые веб-сервисы:

    • Веб-сервис "Аутентификации" — тестовый веб-сервис, возвращающий по переданным учётным данным JWT токен.
    • Веб-сервис "Приемник данных" — эхо веб-сервис, возвращающий отправленный ему запрос.

    Сценарий решения задачи

    Решение задачи будет включать в себя два этапа:

    • Этап №1 — получение JWT токена по учётной записи для дальнейшей аутентификации в веб-сервисе, будет включать шаги:
      1. Создание параметров процесса, определяющих учётную запись для аутентификации.
      2. Отправка в веб-сервис "Аутентификации" запроса на получение JWT токена по учётной записи.
      3. Извлечение токена.
    • Этап №2 — отправка данных веб-сервису "Приемник данных" с аутентификацией по полученному JWT токену, будет включать шаги:
      1. Получение данных из Колибри, которые должны быть отправлены в веб-сервис "Приемник данных".
      2. Подготовка полученных данных для отправки.
      3. Параметризация HTTP заголовка аутентификации.
      4. Отправка данных с аутентификацией веб-сервису "Приемник данных".

    Используемые узлы

    Веб-служба REST/JSON
    Таблица JSON
    Получить строки Колибри
    Преобразовать в CSV
    Формула
    Преобразовать в Объект

    В процессе будет использована параметризация свойств узла с помощью расчетного параметра и объект как расчетный параметр в формуле узла.

    Построение и настройка процесса

    1. Создадим и сохраним новый процесс.
    2. Создадим параметры процесса username и password, определяющие учётную запись, по которой будет получен JWT токен.
      При необходимости параметры можно сделать "Визуальными" и при каждом запуске процесса указывать их значения вручную.
    3. Для получения JWT токена, который будет использован для аутентификации в веб-сервисе "Приемник данных", отправим запрос с учётной записью в веб-сервис "Аутентификации".
      Для этого добавим узел Веб-служба REST/JSON, установим название "Аутентификация" и настроим свойства.
    4. Передача учётной записи веб-сервису "Аутентификации" будет выполнена через свойство "Данные", значение которого необходимо сформировать с помощью параметров процесса username и password.
      Для этого у узла "Аутентификация" создадим порт №3 для параметризации свойства "Данные".
    5. Значение свойства "Данные" узла "Аутентификация" сформируем с помощью узла Формула. Для этого добавим его и соединим выходной порт узла "Формула" с входным портом №3 узла "Аутентификация".
    6. У узла Формула установим название "Данные учётной записи" и настроим формулу с использованием параметров процесса.
    7. Выполним проверку процесса, при наличии ошибок исправим их.
    8. Запустим процесс в отладке для просмотра результатов узла "Аутентификация". Токен получен.
    9. Чтобы извлечь полученный токен для дальнейшего использования, добавим узел Таблица JSON и соединим её входной порт с выходным портом узла "Аутентификация".
    10. У узла Таблица JSON установим название "Извлечение токена" и настроим свойства.
      Так как от веб-службы пришел объект, а не массив, установим режим документа и добавим в колонки извлекаемое свойство JSON-объекта access_token.
    11. Выполним проверку процесса, при наличии ошибок исправим их.
    12. Запустим процесс в отладке для просмотра результатов узла "Извлечение токена". Он будет использован в последующих шагах.
    13. В веб-сервис "Приемник данных" будут переданы данные справочника Колибри. Для их получения из Колибри, добавим узел Получить строки Колибри.
    14. Настроим свойства узла Получить строки Колибри.
    15. Данные должны быть переданы в формате CSV, поэтому подготовим их для отправки, преобразовав в соответствующий формат.
      Для этого добавим узел Преобразовать в CSV и соединим его входной порт с выходным портом узла "Получить строки Колибри".
    16. Настроим свойства узла Преобразовать в CSV.
    17. Для отправки данных веб-сервису "Приемник данных" добавим узел Веб-служба REST/JSON.
    18. У узла Веб-служба REST/JSON установим название "Веб-сервис "Приемник данных" и настроим свойства.
    19. Для аутентификации в веб-сервис "Приемник данных" необходимо передать полученный токен в качестве параметризованного HTTP заголовка аутентификации. Для этого будет использован вычисляемый заголовок, чтобы в его формуле можно было использовать токен, необходимо преобразовать результат узла "Извлечение токена" в объект.
      Добавим узел Преобразовать в Объект и соединим его входной порт с выходным портом узла "Извлечение токена".
    20. Для использования в HTTP заголовке узла "Веб-сервис "Приемник данных" значения токена, создадим у узла порт Параметр формулы и переименуем его.
      Токен, как объект, будет доступен в узле "Веб-сервис "Приемник данных" по имени tokenPort.
    21. Соединим выходной порт узла "Преобразовать в Объект" с входным портом №3 узла "Веб-сервис "Приемник данных".
    22. В узле "Веб-сервис "Приемник данных" на вкладке "HTTP заголовки" создадим вычисляемый заголовок, укажем название заголовка Authorization, а в формуле из объекта tokenPort извлечем токен.
    23. Для передачи веб-сервису "Приемник данных" данных справочника Колибри в виде файла, необходимо передать сам файл и добавить соответствующий заголовок.
      Для передачи файла на входной порт №2 узла "Веб-сервис "Приемник данных" подадим выходные данные узла "Преобразовать в CSV".
    24. Для передачи файла сервису необходимо передать заголовок Content-Type с соответствующим значением.
      Для этого в узле "Веб-сервис "Приемник данных" на вкладке "HTTP заголовки" добавим "Значение заголовка".
    25. Выполним проверку процесса, при наличии ошибок исправим их.
    26. Запустим процесс в отладке для просмотра результатов узла "Веб-сервис "Приемник данных".
      Веб-сервис вернул отправленные ему данные и токен аутентификации.
    Замечание

    Файл процесса "Отправка данных веб-сервису с аутентификацией"

    В начало страницы Справочная система Колибри. Группа компаний Октоника, 2022