Документация по настройке процессов
PDF

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

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

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

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

scr_chapter_process_designer_call_web_servce_example.png 

Важно

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

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

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

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

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

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

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

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

Рис. 102 — Панель настройки элемента [Вызвать веб-сервис]

scr_chapter_process_designer_web_service_properties.png 

[Какой сервис вызывать?] Например, если предварительно была настроена интеграция с сервисом обмена валют “Fixer”, то ее можно будет выбрать в этом поле. Нажмите кнопку btn_basis_filters_add_condition.png, чтобы открыть страницу интеграции нового сервиса. На странице можно настроить интеграцию с новым веб-сервисом. Если сервис уже выбран, нажмите кнопку icn_open_desiner.png, чтобы открыть страницу настройки интеграции с выбранным веб-сервисом.

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

[Максимальное время выполнения, секунд] — ограничение общего времени вызова веб-сервиса данным элементом. Ограничение включает повторы. Когда время выполнения превышено и приходят отклики с кодом ошибки (например 400), исходящие параметры будут заполнены последним полученным откликом веб-сервиса.

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

Например, согласно параметрам настройки интеграции с сервисом http://fixer.io/, доступны следующие параметры вызова:

  • [Базовая валюта] — базовая валюта для получения обменных курсов.

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

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

На заметку

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

Работа с параметрами вызова типа “коллекция“

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

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

chapter_process_designer_collection_params.png 

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

Рис. 104 — Сопоставление значений параметров коллекции

chapter_process_designer_collection_select_value.png 

Рис. 105 — Выбор вложенного параметра другой коллекции для сопоставления

chapter_process_designer_collection_select_parameter.png 

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

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

chapter_process_designer_collection_process_parameter.png 

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

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

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

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

Работа с откликом веб-сервиса

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

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

Пример

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

На заметку

Порядок действий для отображения данных, полученных от веб-сервиса, подробно рассмотрен в статье “Проверка работы интеграции с веб-сервисом”. Детальнее работа со значениями параметров рассмотрена в статье “Как работать со значениями параметров элементов”.

Рис. 107 — Настройка параметров преднастроенной страницы

scr_chapter_process_designer_preset_page_currency_map.png 

Рис. 108 — Связывание параметров преднастроенной страницы и элемента [Вызвать веб-сервис]

scr_process_designer_map_web_service_params.png 

Рис. 109 — Обменные курсы на преднастроенной странице

scr_process_designer_web_service_example.png 

Работа с параметрами ответа типа “коллекция”

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

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

chapter_process_designer_collection_response.png 

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

Смотрите далее

Элемент процесса [Изменить права доступа]

Элемент процесса [Задание-сценарий]

Элемент процесса [Привязать процесс к объекту]

Элемент процесса [Выполнить действие процесса]

Смотрите также

Как работать с окном определения значения параметра

Как работать со значениями параметров элементов

Элемент процесса [Преднастроенная страница]

Как использовать интеграцию с веб-сервисами для обновления курсов валют в справочнике [Валюты]

Был ли данный материал полезен?

Как можно улучшить эту статью?