Компонент Веб-запрос в канал интеграции

Описание

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам, настроенным в каналах интеграции.
Поддерживает HTTP-методы GET, POST, PUT, HEAD, DELETE с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP.
Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.

Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с пограничных серверов системы «Era».

Чтобы заменить компонент выполнением "curl" запроса через командную строку (компонент Запуск процесса), необходимо вручную сформировать URL, достав нужный канал-интеграции (компонент Операция), и распарсив его содержание.

Table 1. Системные характеристики

Индекс

143

Краткое название

web_services

Типы сценариев

Все

Стартовый модуль

r_script_component_web_services

Режим

Асинхронный

Иконка

143

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Прокси
Код: proxyMode
Усл. видимости: нет
По умолчанию: Нет

Выключатель использования прокси-сервера.

Название: Аутентификация в прокси
Код: proxyAuth
Усл. видимости: да
По умолчанию: Нет

Выключатель прокси-аутентификации.

Название: Логин прокси
Код: proxyLogin
Усл. видимости: да
По умолчанию: — 

Логин к прокси-серверу.

Название: Пароль прокси
Код: proxyPass
Усл. видимости: да
По умолчанию: — 

Пароль к прокси-серверу.

Название: Адрес прокси
Код: proxyAddr
Усл. видимости: да
По умолчанию: — 

Адрес прокси-сервера.

Название: Порт прокси
Код: proxyPort
Усл. видимости: да
По умолчанию: — 

Порт прокси-сервера.

Название: Макс. перенаправлений
Код: maxRedirectCount
Усл. видимости: нет
По умолчанию: — 

Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards.

Название: Источник канала интеграции
Код: webserviceMode
Усл. видимости: нет
По умолчанию: Из списка

Способ выбора канала интеграции, через URL которого отправлять HTTP-запрос.
Варианты значений:

  • Из списка (list, 0)

  • По коду (arg, 1)

URL для запроса получается

Название: Канал интеграции
Код: webserviceCode
Усл. видимости: нет
По умолчанию: — 

Выпадающий список с кодами каналов интеграции. Содержит все доступные каналы интеграции, содержащиеся в текущем домене.

Название: Код канала интеграции
Код: webserviceCodeArg
Усл. видимости: нет
По умолчанию: — 

Аргумент, содержащий код канала интеграции в текущем домене.

Название: Страница
Код: urlPage
Усл. видимости: нет
По умолчанию: — 

Аргумент, содержащий страницу (endpoint).
Итоговый URL для запроса формируется на основании URL канала интеграции и указанной страницы.

Название: Источник запроса
Код: reqSrc
Усл. видимости: нет
По умолчанию: — 

Адрес сервера, с которого необходимо отправить запрос.
По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий.
Возможные форматы указания:

  • NodeName

  • NodeName:Iface

  • NodeName@NodeAddr

  • NodeName@NodeAddr:Iface

  • RoleId

  • RoleId:Iface

  • RoleName

  • RoleName:Iface

где

  • NodeName – короткое имя ноды в ее полном имени (abc002@192.168.0.12);

  • NodeAddr – адрес ноды в ее полном имени;

  • RoleId – идентификатор роли в конфигурации, по роли определяется нода;

  • RoleName – название роли в конфигурации, по роли определяется нода;

  • Iface – адрес сетевого интерфейса на сервере.

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

При отсутствии или некорректном задании адреса сетевого интерфейса сервера отправителя отправка произойдет с адреса ноды отправителя.

Название: Метод
Код: method
Усл. видимости: нет
По умолчанию: GET

Возможные варианты:

  • POST (post, 0)

  • GET (get, 1)

  • PUT (put, 2)

  • HEAD (head, 3)

  • DELETE (delete, 4)

  • PATCH (patch, 5)

  • TRACE (trace, 6)

  • OPTIONS (options, 7)

Название: Тип контента
Код: contentType
Усл. видимости: да
По умолчанию: "application/x-www-form-urlencoded"

Значение для HTTP-заголовка Content-Type.

Название: Тело запроса
Код: reqContentArg
Усл. видимости: да
По умолчанию: — 

Содержание тела HTTP-запроса.

Название: Кодировка запроса
Код: reqEncoding
Усл. видимости: да
По умолчанию: utf-8

Кодировка, с помощью которой производится преобразование тела запроса из строкового представления к бинарному виду перед отправкой.
Возможные варианты:

  • unicode (0)

  • utf-8 (1)

  • utf-7 (2)

  • cp1251 (3) – Кодовая страница windows-1251 (кириллица)

  • Указать название (byname, 4) – Задать название кодировки вручную.

Название: Название кодировки запроса
Код: reqEncodingName
Усл. видимости: да
По умолчанию: "cp1251"

Название кодировки для тела запроса, заданное вручную.

Название: Базовая аутентификация
Код: basicAuth
Усл. видимости: нет
По умолчанию: Нет

Выключатель базовой аутентификации.

Название: Логин
Код: bAuthLogin
Усл. видимости: да
По умолчанию: — 

Логин для базовой аутентификации.

Название: Пароль
Код: bAuthPass
Усл. видимости: да
По умолчанию: — 

Пароль для базовой аутентификации.

Название: Заголовки
Код: addHeaders
Усл. видимости: нет
По умолчанию: — 

Подставляемые в запрос дополнительные HTTP-заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: HeaderName: HeaderValue.

Название: Куки
Код: addCookies
Усл. видимости: нет
По умолчанию: — 

Подставляемые в запрос дополнительные COOKIE. Аргумент содержит мультистрочное значение, формат каждой из строк: Key=Value.

Название: Режим
Код: mode
Усл. видимости: нет
По умолчанию: Ожидание результата

Режим работы компонента после отправки запроса.
Возможные варианты:

  • Ожидание результата (0) – Ожидание ответа вплоть до завершения сценария.

  • Асинхронный запуск (1) – Управление сразу передается следующему компоненту.

  • Обрыв по таймауту (2) – Ожидание ответа в течение установленного времени, по истечению которого HTTP-подключение разрывается и управление передается следующему компоненту.

  • Выход по таймауту (3) – Ожидание ответа в течение установленного времени, по истечению которого управление передается следующему компоненту без разрыва подключения и прерывания процесса отправки.

Название: Время, с
Код: timeoutSec
Усл. видимости: да
По умолчанию: — 

Таймаут ожидания ответа на отправленный HTTP-запрос.

Название: Заголовки ответа
Код: respHeadVariable
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения заголовков HTTP-ответа.

Название: Ответ
Код: respVariable
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения тела HTTP-ответа.

Название: Кодировка ответа
Код: respEncoding
Усл. видимости: да
По умолчанию: utf-8

Кодировка, в которой находится тело HTTP-ответа. Используется для преобразования к строковому представлению в переменной сценария.
Возможные варианты:

  • Авто из заголовка (autoheader, 5)

  • Авто из тела (autometaheader, 6)

  • unicode (0)

  • utf-8 (1)

  • utf-7 (2)

  • cp1251 (3) – Кодовая страница windows-1251 (кириллица)

  • Указать название (byname, 4) – Задать название кодировки вручную.

Название: Название кодировки ответа
Код: respEncodingName
Усл. видимости: да
По умолчанию: "cp1251"

Название кодировки для тела ответа, заданное вручную.

Название: Ошибка
Код: errorVariable
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения HTTP-кода ошибки.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции асинхронной отправки, либо получения HTTP-ответа.

Название: Переход, время
Код: transferTimeout
Усл. видимости: да
По умолчанию: — 

Компонент, которому передается управление в случае таймаута ожидания ответа.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае ошибки отправки запроса, либо получения неудачного ответа (коды 4xx – 6xx).

См. также