close

Вход

Забыли?

вход по аккаунту

?

Сценарий синхронного RESTful сервиса через SAP PI

код для вставки
описан простой сценарий использования синхронного RESTful сервиса
PI REST ADAPTER. Настройка синхронного RESTful сервиса.
Перевод статьи http://scn.sap.com/docs/DOC-60856
Этот блог из коллекции блогов, в которых описаны концепции и настройки SAP PI REST адаптера.
Мы также добавили примеры для более полного понимания, как можно использовать этот
адаптер в ваших сценариях.
Если вы еще этого до сих пор не сделали, лучше начать с блога PI Rest Adapter - Don't be afraid, в
котором описаны концепции REST адаптера.
Полный список блогов по этой теме доступен по ссылке: PI REST Adapter - Blog Overview
В этом блоге описан простой сценарий использования синхронного RESTful сервиса. В нашем
примере URL генерируется динамически с использованием переменных.
Сценарий.
В сценарии мы получим широту и долготу на основании определенного адреса. Такое
преобразование называется геокоди́ рование (geocoding).
Для этого мы используем сервис от Google - Google’s Geocoding API – в следующем формате:
http://maps.googleapis.com/maps/api/geocode/json?address=<given_address>&sensor=false
Адрес устанавливается динамически, выходной формат – JSON, параметр sensor, установленный в
false означает, что мое приложение не использует датчик для определения позиции.
Тип сообщения «address» моего DT содержит улицу, дом, страну, регион и ZIP код. Эти элементы
служат для определения адреса в URL для RESTful сервиса.
В SAP Process Integration Designer в NWDS я создал IFlow c SOAP Sender каналом и REST Receiver
адаптером, т.к. мы ожидаем RESTful сервис на стороне SOAP веб-сервиса приемника.
Формат входного сообщения - XML. Ответ от Google Geocoding API приходит в формате JSON,
который конвертируется в адаптере в XML и передается обратно в SOAP Sender канал.
В дальнейшем я сфокусируюсь на описании настроек Receiver REST адаптера.
Конфигурация REST Receiver канала.
Кликните два раза на Receiver канал в IFlow и перейдите на закладку REST URL в Adapter-Specific
Settings. Введите шаблон URL, как показано ниже:
http://maps.googleapis.com/maps/api/geocode/json?address={street_par}+{city_par}+{country_par}&s
ensor={boolean}
Переменные street_par, city_par, and country_par будут заменены соответствующими значениями
из сообщения XML. Для каждого адресного значения я использую XPATH выражения для чтения и
парсинга соответствующих значений XML. Boolean sensor я устанавливаю вручную в false.
Перейдите в закладку REST Operation. Здесь мы устанавливаем значение для HTTP операции: GET.
В завершение, мы должны указать формат сообщений RESTful сервиса. Переключитесь в закладку
Data Format.
Хотя я определяю формат сообщения запроса, на самом деле это не обязательно, так как у нас нет
никакой полезной нагрузки.
Формат ответа ожидается JSON, поэтому я выбираю формат JSON как формат данных Response.
Далее я должен преобразовать JSON в XML – для этого нужно поставить галочку «Convert to XML».
Тестирование сценария.
Для тестирования сценария я использую SOAP UI. На рисунке вы видите, что я заполнил структуру
адреса в XML формате и в ответ получил сконвертированный в XML ответ от Google Geocoding API.
I hope this blog was helpful to understand the consumption of RESTful services using the SAP PI REST
adapter. If you like to learn more, check out the other blogs in the series, accessible from the main blog
PI REST Adapter - Blog Overview.
Автор
guest_asv
Документ
Категория
Техническая документация
Просмотров
184
Размер файла
189 Кб
Теги
restful
1/--страниц
Пожаловаться на содержимое документа