Элемент процесса [Вызвать веб-сервис]

Продукты
Все продукты

Элемент процесса Вызвать веб-сервис используется для вызова методов веб-сервиса и обработки ответа в рамках бизнес-процесса. Перед использованием элемента необходимо настроить интеграцию веб-сервисов в разделе Веб-сервисы дизайнера системы.

Функциональность элемента Вызвать веб-сервис зависит от веб-сервиса, с которым была настроена интеграция. Например, элемент можно использовать для получения последних данных о курсе валют (Рис. 1).

Рис. 1 — Вызов веб-сервиса в рамках бизнес-процесса и отображение результатов
scr_chapter_process_designer_call_web_servce_example.png

Важно. Детальные инструкции по настройке интеграции с веб-сервисом “http://fixer.io/” приведены в отдельной статье. Подробнее >>>

При активации входящего потока элемент Вызвать веб-сервис:

  1. Выполняет вызов необходимого метода веб-сервиса с помощью специальных параметров вызова.

  2. Ожидает отклика веб-сервиса согласно настроек интеграции.

  3. Записывает результаты в свои исходящие параметры.

  4. Активирует исходящие потоки.

Настроить параметры элемента Вызвать веб-сервис 

Для интеграции веб-сервиса в бизнес-процесс добавьте элемент Вызвать веб-сервис в рабочую область дизайнера процессов, выберите веб-сервис и метод, который необходимо вызвать, и укажите значения параметров на панели настройки элемента (Рис. 2):

Рис. 2 — Панель настройки элемента Вызвать веб-сервис
scr_chapter_process_designer_web_service_properties.png
  1. Какой сервис вызывать? Например, если предварительно была настроена интеграция с сервисом обмена валют “Fixer”, то ее можно будет выбрать в этом поле. Нажмите кнопку btn_basis_filters_add_condition.png, чтобы открыть страницу интеграции нового сервиса. На странице можно настроить интеграцию с новым веб-сервисом. Если сервис уже выбран, нажмите кнопку icn_open_desiner.png, чтобы открыть страницу настройки интеграции с выбранным веб-сервисом.
  2. Какой метод вызывать? — выберите метод веб-сервиса, который будет вызван при выполнении запроса сервиса. Возможные значения этого параметра зависят от специфики интеграции сервиса.
  3. Максимальное время выполнения, секунд — ограничение общего времени вызова веб-сервиса данным элементом. Ограничение включает повторы. Когда время выполнения превышено и приходят отклики с кодом ошибки (например 400), исходящие параметры будут заполнены последним полученным откликом веб-сервиса.
  4. Параметры вызова — если выбранный метод имеет параметры вызова, то они будут доступны в этой группе после выбора метода. В бизнес-процессе эти параметры считаются входящими параметрами соответствующего элемента Вызвать веб-сервис.
    Например, согласно параметрам настройки интеграции с сервисом http://fixer.io/, доступны следующие параметры вызова:
    • Базовая валюта — базовая валюта для получения обменных курсов.

    • API ключ — API-ключ веб-сервиса. Для его получения необходимо зарегистрироваться на https://fixer.io/.

    • Конечная точка — конечная точка веб-сервиса, которая будет добавлена сразу после URI и перед параметрами запроса. В примере для http://fixer.io/ может быть либо “latest” — для запроса последних доступных курсов, либо конкретная дата в текстовом формате — для запроса обменных курсов на эту дату, например “2018-01-03”. Все параметры, кроме параметров типа “Параметр запроса”, обязательны для заполнения. Если поле останется незаполненным, параметры запроса все еще будут частью запроса, но не будут иметь значений. Например: “?параметр-со-значением-1=значение-1&параметр-без-значения-1&параметр-без-значения-2”.

На заметку. Можно ввести значения параметра запроса вручную или привязать их к другим параметрам процесса. Работа со значениями параметров рассмотрена в отдельной статье. Подробнее >>>

Передать параметры вызова типа “коллекция“ 

Если параметр вызова является коллекцией (установлен признак Является массивом в свойствах параметра на странице веб-сервиса), то список вложенных параметров отображается под названием коллекции на панели настройки элемента (Рис. 3). Так, сервис “пакетных запросов”  Creatio позволяет добавлять несколько записей (например, контактов) в систему. Для этого сервису потребуются данные для заполнения полей каждой добавляемой записи (например, ФИО и тип контакта). Нужные значения можно передать в качестве параметра вызова типа “коллекция“, где “ФИО” и “Тип” будут вложенными параметрами, а каждый элемент коллекции будет содержать данные для отдельной записи контакта

Рис. 3 — Пример параметров вызова, один из которых является коллекцией
chapter_process_designer_collection_params.png

Значения параметров коллекции элемента Вызвать веб-сервис могут быть сопоставлены с вложенными параметрами другой коллекции элемента Читать данные или Вызвать веб-сервис (Рис. 4, Рис. 5).

Рис. 4 — Сопоставление значений параметров коллекции
chapter_process_designer_collection_select_value.png
Рис. 5 — Выбор вложенного параметра другой коллекции для сопоставления
chapter_process_designer_collection_select_parameter.png

Параметры коллекции элемента процесса могут быть сопоставлены с параметром процесса типа “Коллекция значений” (Рис. 6).

Рис. 6 — Добавление параметра процесса
chapter_process_designer_collection_process_parameter.png

Проверить ошибки вызова веб-сервисов 

После активации элемент Вызвать веб-сервис выполняет вызов веб-сервиса, получает и обрабатывает отклик и заполняет исходящие параметры. У каждого элемента Вызвать веб-сервис есть два исходящих параметра для обработки ошибок — Success и Http status code.

  • Если вызов завершился успешно (код отклика <400), то параметру Success будет установлено значение “true”.

  • Если вызов завершился с ошибкой (код отклика 400 и выше), то параметру Success будет установлено значение “false” и параметр Http status code будет заполнен кодом ошибки. Используйте эти параметры для обработки ошибок вызова веб-сервисов непосредственно в процессе. Например, вы можете автоматически вызвать веб-сервис позже, использовать другие значения параметров вызова или прекратить процесс.

Обработать отклик веб-сервиса 

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

Для использования этих данных в вашем бизнес-процессе свяжите процесс и параметры элементов процесса с исходящими параметрами элемента Вызвать веб-сервис.

Пример. При выборе веб-сервиса “Fixer” у элемента Вызвать веб-сервис в дополнение к параметрам обработки ошибок появятся следующие исходящие параметры: “Базовая валюта” (параметр “строка”), “Дата” (параметр “дата”) и отдельный дробный параметр на каждый обменный курс (“RatesAUD”, “RatesEUR” и т.д.). Полученные данные можно отобразить при помощи преднастроенной страницы, связав ее поля с соответствующими исходящими параметрами элемента Вызвать веб-сервис (Рис. 7, Рис. 8). В результате поля страницы (Рис. 9) будут содержать данные, полученные в отклике веб-сервиса.

На заметку.  Детальнее работа со значениями параметров рассмотрена в статье “Использовать параметры”.

Рис. 7 — Настройка параметров преднастроенной страницы
scr_chapter_process_designer_preset_page_currency_map.png
Рис. 8 — Связывание параметров преднастроенной страницы и элемента Вызвать веб-сервис
scr_process_designer_map_web_service_params.png
Рис. 9 — Обменные курсы на преднастроенной странице
scr_process_designer_web_service_example.png

Настроить параметры ответа типа “коллекция” 

Параметры ответа веб-сервиса могут быть коллекциями. Параметры ответа настраиваются в расширенном режиме на вкладке Параметры панели настройки свойств элемента Вызвать веб-сервис (Рис. 10). Вложенные параметры коллекции отображаются под названием коллекции.

Рис. 10 — Коллекция в параметрах вызова
chapter_process_designer_collection_response.png

Значения параметров коллекции элемента Вызвать веб-сервис могут быть сопоставлены с вложенными параметрами другой коллекции элемента Читать данные или Вызвать веб-сервис (Рис. 4, Рис. 5).