Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Что вы узнаете
В этом уроке вы научитесь:
- Сгенерируйте прокси-сервер Edge API из файла WSDL.
- Разберитесь в различиях между RESTful SOAP-прокси и сквозным SOAP-прокси.
В этом руководстве вы узнаете, как настроить прокси-сервер Edge API перед веб-сервисом на основе SOAP.
В этом руководстве показано, как создать новый RESTful API перед вашим SOAP-сервисом. Хотя здесь это не описывается подробно, вы также можете создать сквозной прокси-сервер, который принимает SOAP-данные и передает их бэкэнд-сервису.
Что вам понадобится
- Учетная запись Apigee Edge. Если у вас ее еще нет, вы можете зарегистрироваться, следуя инструкциям в разделе «Создание учетной записи Apigee Edge» .
Создание прокси
Здесь Edge сгенерирует прокси-сервер, который будет располагаться перед SOAP-сервисом. Существует два типа SOAP API-прокси:
- Прокси-сервер типа REST-SOAP-REST генерирует новый RESTful API со слоем преобразования в SOAP. Клиенты вызывают его так же, как и другие RESTful-сервисы, передавая параметры запроса, необходимые бэкэнд-сервису. Edge преобразует это в SOAP-данные, ожидаемые сервисом.
- Тип прокси-сервера "сквозной" позволяет клиентам просто передавать полезную нагрузку SOAP. Это позволяет использовать преимущества функций управления на границе сети при вызове SOAP-сервисов.
Край
Для проксирования SOAP-сервиса с помощью пользовательского интерфейса Edge:
- Войдите на сайт apigee.com/edge .
- В левой панели навигации выберите «Разработка» > «API-прокси» .
- Нажмите +Прокси .
- Нажмите на SOAP-сервис .
- На странице сведений о прокси-сервере введите следующее:
Поле Описание Исходный код WSDL Выберите: URL
Скопируйте и вставьте следующий URL-адрес WSLD в поле «Введите URL-адрес» :
https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl
Нажмите: Проверить
Apigee Edge получает WSDL-файл и считывает его, чтобы определить список операций, поддерживаемых SOAP-сервисом.
Имя Оставьте как есть:
delayedstockquoteЭто имя для создаваемого вами API-прокси.
Базовый путь Оставьте как есть: /delayedstockquoteОписание При желании можно добавить описание, например: Котировки акций WSDL API Прокси - Нажмите «Далее» .
- На странице «Общие политики» в разделе «Безопасность: Авторизация» выберите «Сквозная авторизация (без авторизации)» .
- Нажмите «Далее» .
- На странице операций WSDL выберите: REST to SOAP to REST .
После выбора типа прокси Edge отобразит список операций, для которых будут сгенерированы пути REST API. Этот список позволяет выбрать операции из списка, содержащегося в WSDL (если вам нужен определенный набор операций). Обратите внимание, что в таблице также отображаются ресурсы, которые REST-клиент может использовать для вызова бэкэнд-сервиса SOAP.
Все остальные выбранные параметры на странице оставьте без изменений.
- Нажмите «Далее» .
- Примите настройки виртуального хоста по умолчанию, нажав кнопку «Далее» .
- На странице «Сводка» в разделе «Дополнительное развертывание» нажмите «Тест» , а затем «Создать и развернуть» .
Edge генерирует RESTful API-прокси и развертывает его в
testсреде. На основе WSDL он определяет поддерживаемые операции сервиса, входные параметры и так далее. Edge предлагает, какой HTTP-метод использовать для каждой операции. Как правило, Edge преобразует операции в GET-запросы, преимущество которых заключается в возможности кэширования. Edge также настраивает целевую конечную точку бэкэнда, которая может различаться для каждой SOAP-операции.Если вы не занимаетесь настройкой нового API-прокси (а в этом руководстве вы этим не занимаетесь), то на этом всё. Можете переходить к тестированию нового API-прокси.
Классический Edge (частное облако)
Для проксирования SOAP-сервиса с использованием классического пользовательского интерфейса Edge:
- Войдите в систему по
http:// ms-ip :9000, где ms-ip — это IP-адрес или DNS-имя узла сервера управления. - В верхней панели навигации выберите API > API-прокси .
- Нажмите + API-прокси .
- Нажмите на SOAP-сервис .
- На странице сведений о прокси-сервере введите следующее:
Поле Описание WSDL Выберите: Пример URL
Затем выберите:
...delayedstockquote.asmx?WSDLНажмите: Проверить
Apigee Edge получает WSDL-файл и считывает его, чтобы определить список операций, поддерживаемых SOAP-сервисом.
Имя прокси Введите:
delayedstockquoteЭто имя для создаваемого вами прокси-сервера.
Базовый путь и описание прокси-сервера Оставьте как есть. - Нажмите «Далее» .
- На странице WSDL выберите следующие пункты:
В этой области сделайте это Тип API-прокси Выберите: REST, SOAP, REST
После выбора типа прокси Edge отобразит список операций, для которых будут сгенерированы пути REST API, как показано здесь. Этот список позволяет выбрать операции из списка, содержащегося в WSDL (если вам нужен определенный набор операций). Обратите внимание, что в таблице также отображаются ресурсы, которые REST-клиент может использовать для вызова бэкэнд-сервиса SOAP.
Пока что оставьте выбранным только первый набор операций.
Тип порта: DelayedStockQuoteSoap Выберите все три операции WSDL. Остальные настройки оставьте без изменений. - Нажмите «Далее» .
- На странице «Безопасность» выберите «Сквозная передача (нет)» .
- Нажмите «Далее» .
- Примите настройки виртуального хоста по умолчанию и нажмите «Далее» .
- На странице «Сборка» примите значения по умолчанию и нажмите «Сборка и развертывание» , чтобы Edge начал генерацию прокси-сервера.
Edge генерирует RESTful API-прокси. На основе WSDL он определяет поддерживаемые операции сервиса, входные параметры и так далее. Edge предлагает, какой HTTP-метод использовать для каждой операции. Как правило, Edge преобразует операции в GET-запросы, преимущество которых заключается в возможности кэширования. Edge также настраивает целевую конечную точку бэкэнда, которая может различаться для каждой SOAP-операции.
Если вы не занимаетесь настройкой нового прокси (а в этом руководстве вы этим не занимаетесь), то на этом всё. Можете переходить к тестированию нового прокси.
Проверка прокси-сервера
Чтобы протестировать созданный вами прокси, откройте командную строку и используйте cURL. Введите команду ниже, где:
- ORG — это название организации Edge, в которой вы создали прокси-сервер.
- ENV — это среда, в которой развернут прокси-сервер.
- DOMAIN соответствует используемому вами экземпляру Edge.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0" Например, если ваша организация называется docfood , среда — test , и вы используете корпоративное облако Edge, вы выполните команду следующего вида:
curl "https://docfood-test.apigee.net/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"
Если вы ввели GOOG в качестве параметра запроса StockSymbol, вы должны получить текущую цену акций Alphabet Inc. класса C. Например:
{
"GetQuoteResponse":{
"GetQuoteResult":{
"StockSymbol":"GOOG",
"LastTradeAmount":819.55,
"LastTradeDateTime":"2017-02-13T14:33:00",
"StockChange":5.88,
"OpenAmount":816.0,
"DayHigh":820.96,
"DayLow":815.49,
"StockVolume":785064,
"PrevCls":813.67,
"ChangePercent":"+0.72%",
"FiftyTwoWeekRange":"663.28 - 841.95",
"EarnPerShare":27.88,
"PE":29.4,
"CompanyName":"Alphabet Inc.",
"QuoteError":false
}
}
}Получите автоматически сгенерированную спецификацию OpenAPI.
При использовании механизма проксирования SOAP-сервиса по схеме "REST-SOAP-REST" Edge автоматически генерирует спецификацию OpenAPI . Вы можете использовать спецификацию OpenAPI для создания документации к API.
Чтобы получить спецификацию OpenAPI, просто перейдите по этой ссылке:
curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.jsonДополнительное задание: Как определить, какие параметры ресурса, глагола и запроса следует использовать?
В тестовом вызове API вы использовали конкретный ресурс и параметры запроса в своем запросе cURL к бэкэнд-сервису SOAP. Но как бы вы узнали это самостоятельно?
Ресурс и глагол
В мастере создания API-прокси вы видели, как операции SOAP сопоставляются с глаголами и ресурсами API. Но если вы их не записали, вот как вы сможете узнать это после создания прокси.
На вкладке «Разработка » API-прокси в левой панели «Навигатор» вы увидите список потоков в разделе «Конечные точки прокси». Щелкните интересующий вас поток. Например, поток GetQuote — хороший вариант. Затем просмотрите XML-код в панели «Код», где в элементе <Условие> отображается путь к ресурсу и глагол для потока: /quote и GET .

Параметры запроса
Выбрав поток GetQuote , щелкните первую политику в графическом представлении потока. Это должна быть политика извлечения переменных, которая захватывает параметры запроса, которые должны быть переданы: StockSymbol и LicenseKey . (Если вы выполните поиск в интернете по запросу "SOAP-сервис", вы узнаете, что нужно передать в качестве LicenseKey.)

Захваченные параметры запроса сохраняются в виде переменных и используются следующей политикой для формирования SOAP-сообщения.