Настройка обработки параметров ответа веб-сервиса
В результате вызова веб-сервиса, от него приходит ответ в виде объекта 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] (Рис. 353):
2.В открывшемся окне введите JSON-код ответа сервера и нажмите кнопку [Далее] (Рис. 354) (код отобразится в вашем браузере, если вы попытаетесь перейти по URL-адресу вызова веб-сервиса ).
3.Из открывшегося списка параметров выберите те, которые необходимо добавить в ответ, и нажмите [Сохранить] (Рис. 355):
В результате выбранные параметры будут добавлены в ответ. Вы можете изменить настройки параметров (например, изменить тип данных для курса валют на “дробное число”), чтобы подготовить их для дальнейшего использования на шаге бизнес-процесса [Вызвать веб-сервис].
Как добавить параметры ответа вручную
Добавьте параметры обработки ответа, нажав на кнопку [Добавить параметр] на вкладке [Обработка ответа], и заполните обязательные поля.
1.Добавьте параметр “Базовая валюта”, в который будет передан текстовый код базовой валюты. В поле [Тип параметра] укажите “Параметр тела”, а в поле [Тип данных] укажите “Текст”. Поле [Путь к элементу (JSONPath)] должно содержать значение в формате JSON. JSONpath “$.base” получает значение парамера “base” (например, "base":"EUR") в ответе от веб-сервиса, значение которого в данном случае — “EUR”. (Рис. 356):
2.Добавьте параметр “Дата”, в который будет передана дата актуальности полученных курсов валют. Укажите “Дата” в качестве названия параметра (Рис. 357):
На заметку
JSONpath “$.date” получает значение парамера “date” (например, "date": "date":"2018-02-16») в ответе от веб-сервиса, значение которого в данном случае — “2018-02-16”.
Пример
В рамках текущего примера обработаем курс обмена каждой валюты как отдельный параметр. Например, курс австралийского доллара после обработки будет передан в параметр “RatesAUD”.
3.Добавьте параметры для обработки всех необходимых курсов валют. Тип данных установите “Decimal” (Рис. 358):
На заметку
JSONpath “$.rates.AUD” получает значение параметра “AUD”, который в данном случае является вложенным параметром другого параметра, “rates” в ответе веб-сервиса (например: "rates":{"AUD":1.5676}). В данном случае, JSONpath $.rates.AUD вернет значение 1.5676.
4.Аналогичным образом настройте параметры обработки ответа для курсов остальных необходимых валют (Рис. 359).