Элемент процесса [ Вызвать веб-сервис ] используется для вызова методов веб-сервиса и обработки ответа в рамках бизнес-процесса. Перед использованием элемента необходимо настроить интеграцию веб-сервисов в разделе [ Веб-сервисы ] дизайнера системы.
Функциональность элемента [ Вызвать веб-сервис ] зависит от веб-сервиса, с которым была настроена интеграция. Например, элемент можно использовать для получения последних данных о курсе валют (Рис. 1).
При активации входящего потока элемент [ Вызвать веб-сервис ]:
-
Выполняет вызов необходимого метода веб-сервиса с помощью специальных параметров вызова.
-
Ожидает отклика веб-сервиса согласно настроек интеграции.
-
Записывает результаты в свои исходящие параметры.
-
Активирует исходящие потоки.
Настроить параметры элемента [ Вызвать веб-сервис ]
Для интеграции веб-сервиса в бизнес-процесс добавьте элемент [ Вызвать веб-сервис ] в рабочую область дизайнера процессов, выберите веб-сервис и метод, который необходимо вызвать, и укажите значения параметров на панели настройки элемента (Рис. 2):
- [ Какой сервис вызывать? ] Например, если предварительно была настроена интеграция с сервисом обмена валют “Fixer”, то ее можно будет выбрать в этом поле. Нажмите кнопку
, чтобы открыть страницу интеграции нового сервиса. На странице можно настроить интеграцию с новым веб-сервисом. Если сервис уже выбран, нажмите кнопку
, чтобы открыть страницу настройки интеграции с выбранным веб-сервисом.
- [ Какой метод вызывать? ] — выберите метод веб-сервиса, который будет вызван при выполнении запроса сервиса. Возможные значения этого параметра зависят от специфики интеграции сервиса.
- [ Максимальное время выполнения, секунд ] — ограничение общего времени вызова веб-сервиса данным элементом. Ограничение включает повторы. Когда время выполнения превышено и приходят отклики с кодом ошибки (например 400), исходящие параметры будут заполнены последним полученным откликом веб-сервиса.
- [ Параметры вызова ] — если выбранный метод имеет параметры вызова, то они будут доступны в этой группе после выбора метода. В бизнес-процессе эти параметры считаются входящими параметрами соответствующего элемента [ Вызвать веб-сервис ].
Например, согласно параметрам настройки интеграции с сервисом http://fixer.io/, доступны следующие параметры вызова:-
[ Базовая валюта ] — базовая валюта для получения обменных курсов.
-
[ API ключ ] — API-ключ веб-сервиса. Для его получения необходимо зарегистрироваться на https://fixer.io/.
-
[ Конечная точка ] — конечная точка веб-сервиса, которая будет добавлена сразу после URI и перед параметрами запроса. В примере для http://fixer.io/ может быть либо “latest” — для запроса последних доступных курсов, либо конкретная дата в текстовом формате — для запроса обменных курсов на эту дату, например “2018-01-03”. Все параметры, кроме параметров типа “Параметр запроса”, обязательны для заполнения. Если поле останется незаполненным, параметры запроса все еще будут частью запроса, но не будут иметь значений. Например: “?параметр-со-значением-1=значение-1&параметр-без-значения-1&параметр-без-значения-2”.
-
Передать параметры вызова типа “коллекция“
Если параметр вызова является коллекцией (установлен признак [ Является массивом ] в свойствах параметра на странице веб-сервиса), то список вложенных параметров отображается под названием коллекции на панели настройки элемента (Рис. 3). Так, сервис “пакетных запросов” Creatio позволяет добавлять несколько записей (например, контактов) в систему. Для этого сервису потребуются данные для заполнения полей каждой добавляемой записи (например, ФИО и тип контакта). Нужные значения можно передать в качестве параметра вызова типа “коллекция“, где “ФИО” и “Тип” будут вложенными параметрами, а каждый элемент коллекции будет содержать данные для отдельной записи контакта
Значения параметров коллекции элемента [ Вызвать веб-сервис ] могут быть сопоставлены с вложенными параметрами другой коллекции элемента [ Читать данные ] или [ Вызвать веб-сервис ] (Рис. 4, Рис. 5).
Параметры коллекции элемента процесса могут быть сопоставлены с параметром процесса типа “Коллекция значений” (Рис. 6).
Проверить ошибки вызова веб-сервисов
После активации элемент [ Вызвать веб-сервис ] выполняет вызов веб-сервиса, получает и обрабатывает отклик и заполняет исходящие параметры. У каждого элемента [ Вызвать веб-сервис ] есть два исходящих параметра для обработки ошибок — [ Success ] и [ Http status code ].
-
Если вызов завершился успешно (код отклика <400), то параметру [ Success ] будет установлено значение “true”.
-
Если вызов завершился с ошибкой (код отклика 400 и выше), то параметру [ Success ] будет установлено значение “false” и параметр [ Http status code ] будет заполнен кодом ошибки. Используйте эти параметры для обработки ошибок вызова веб-сервисов непосредственно в процессе. Например, вы можете автоматически вызвать веб-сервис позже, использовать другие значения параметров вызова или прекратить процесс.
Обработать отклик веб-сервиса
Каждый параметр отклика, который вы настроили для метода веб-сервиса, будет добавлен в качестве дополнительного исходящего параметра в элемент [ Вызвать веб-сервис ], где этот метод выбран в свойстве [ Какой метод вызывать? ].
Для использования этих данных в вашем бизнес-процессе свяжите процесс и параметры элементов процесса с исходящими параметрами элемента [ Вызвать веб-сервис ].
Настроить параметры ответа типа “коллекция”
Параметры ответа веб-сервиса могут быть коллекциями. Параметры ответа настраиваются в расширенном режиме на вкладке [ Параметры ] панели настройки свойств элемента [ Вызвать веб-сервис ] (Рис. 10). Вложенные параметры коллекции отображаются под названием коллекции.
Значения параметров коллекции элемента [ Вызвать веб-сервис ] могут быть сопоставлены с вложенными параметрами другой коллекции элемента [ Читать данные ] или [ Вызвать веб-сервис ] (Рис. 4, Рис. 5).