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

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

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

Функциональность элемента [ Вызвать веб-сервис ] зависит от веб-сервиса, с которым была настроена интеграция. Например, элемент можно использовать для получения последних данных о курсе валют (Рис. 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).