Creatio administration
Это документация Creatio версии 7.13.0. Мы рекомендуем использовать новую версию документации.

Настройка обработки параметров ответа веб-сервиса

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

Пример

Веб-сервис будет возвращать необходимую информацию в виде строки кода. Для обработки такого ответа в bpm’online необходимо указать путь к данным, получение которых являлось целью вызова веб-сервиса.

Ответы веб-сервиса Fixer представляют собой значения трех параметров:

base” — базовая валюта, в отношении которой были рассчитаны курсы валют в данном ответе, например:

   "base":"EUR"

date” — дата актуальности курсов обмена валют, например:

   "date":"2018-02-19"

rates” — коллекция курсов обмена валют по отношению к базовой валюте (каждый курс обмена представлен отдельным вложенным параметром, название которого соответствует коду валюты).

   "rates":{"AUD":1.5676,"BGN":1.9558,..."ZAR":14.461}

Значения параметров коллекции “rates” — ключевая информация в ответе веб-сервиса, которая должна быть использована в bpm’online. Каждый обменный курс можно передавать в отдельный параметр. Для наглядности примера обработаем также параметры “base” и “date”.

Как добавить параметры ответа по кнопке [Быстрая настройка]

Если ответ от сервера приходит в виде объекта JSON, то параметры ответа можно добавить автоматически по кнопке [Быстрая настройка].

1.Нажмите кнопку [Быстрая настройка] и в блоке меню “По примеру ответа” выберите [Пример в формате JSON] (Рис. 1):

Рис. 1 — Настройка параметров ответа по примеру в формате JSON

scr_web_service_response_json.png 

2.В открывшемся окне введите JSON-код ответа сервера и нажмите кнопку [Далее] (Рис. 2) (код отобразится в вашем браузере, если вы попытаетесь перейти по URL-адресу вызова веб-сервиса ).

Рис. 2 — Ответ в формате JSON

scr_web_service_json_code.png 

3.Из открывшегося списка параметров выберите те, которые необходимо добавить в ответ, и нажмите [Сохранить] (Рис. 3):

Рис. 3 — Список параметров из примера в формате JSON

scr_web_service_response_parameters.png 

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

Как добавить параметры ответа вручную

Добавьте параметры обработки ответа, нажав на кнопку [Добавить параметр] на вкладке [Обработка ответа], и заполните обязательные поля.

1.Добавьте параметр “Базовая валюта”, в который будет передан текстовый код базовой валюты. В поле [Тип параметра] укажите “Параметр тела”, а в поле [Тип данных] укажите “Текст”. Поле [Путь к элементу (JSONPath)] должно содержать значение в формате JSON. JSONpath “$.base” получает значение парамера “base” (например, "base":"EUR") в ответе от веб-сервиса, значение которого в данном случае — “EUR”. (Рис. 4):

Рис. 4 — Настройка параметра обработки “Базовая валюта”

scr_web_service_add_method_response_parameter_base_currency.png 

2.Добавьте параметр “Дата”, в который будет передана дата актуальности полученных курсов валют. Укажите “Дата” в качестве названия параметра (Рис. 5):

Рис. 5 — Настройки параметра обработки ответа “Date”

scr_web_service_add_method_response_parameter_date.png 

На заметку

JSONpath “$.date” получает значение парамера “date” (например, "date": "date":"2018-02-16») в ответе от веб-сервиса, значение которого в данном случае — “2018-02-16”.

Пример

В рамках текущего примера обработаем курс обмена каждой валюты как отдельный параметр. Например, курс австралийского доллара после обработки будет передан в параметр “RatesAUD”.

3.Добавьте параметры для обработки всех необходимых курсов валют. Тип данных установите “Decimal” (Рис. 6):

Рис. 6 — Настройки параметра обработки ответа “RatesAUD”

scr_web_service_add_method_request_parameter_rate_aud.png 

На заметку

JSONpath “$.rates.AUD” получает значение параметра “AUD”, который в данном случае является вложенным параметром другого параметра, “rates” в ответе веб-сервиса (например: "rates":{"AUD":1.5676}). В данном случае, JSONpath $.rates.AUD вернет значение 1.5676.

4.Аналогичным образом настройте параметры обработки ответа для курсов остальных необходимых валют (Рис. 7).

Рис. 7 — Настройка параметров обработки ответа веб-сервиса

scr_web_service_add_method_response_parameter.png 

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

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