Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Что вы узнаете
Из этого руководства вы узнаете:
- Создайте прокси-сервер API Edge на основе файла WSDL.
- Знать разницу между прокси-сервером SOAP RESTful и прокси-сервером SOAP pass-through.
В этом руководстве рассказывается, как разместить прокси-сервер API Edge перед веб-сервисом на основе SOAP.
В этом руководстве показано, как создать новый RESTful API для сервиса на основе SOAP. Здесь не приводится подробное описание, но вы также можете создать сквозной прокси-сервер, который принимает полезную нагрузку SOAP и передает ее в бэкенд-службу.
Что вам понадобится
- Аккаунт Apigee Edge. Если у вас его ещё нет, вы можете зарегистрироваться, следуя инструкциям в разделе Создание аккаунта Apigee Edge.
Как создать прокси-сервер
Здесь Edge сгенерирует прокси-сервер, который будет находиться перед сервисом SOAP. Существует два типа прокси SOAP API:
- Прокси-сервер типа REST-SOAP-REST создает новый RESTful API с уровнем преобразования в SOAP. Клиенты вызывают его так же, как и другие сервисы RESTful, передавая параметры запроса, необходимые для бэкенд-службы. Edge преобразует его в полезную нагрузку SOAP, ожидаемую сервисом.
- Прокси-сервер с передачей данных позволяет клиентам просто передавать полезную нагрузку SOAP. Это позволяет использовать функции управления Edge для вызовов сервисов SOAP.
Edge
Чтобы создать прокси-сервис SOAP с помощью интерфейса Edge:
- Войдите в аккаунт на сайте apigee.com/edge.
- На панели навигации слева выберите Develop > API Proxies (Разработка > Прокси API).
- Нажмите + Прокси.
- Нажмите Сервис SOAP.
- На странице "Сведения о прокси-сервере" укажите следующие данные:
Поле Описание Источник WSDL Выберите URL.
Скопируйте и вставьте следующий URL WSLD в поле Введите URL:
https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl
Нажмите Проверить.
Apigee Edge получает WSDL-файл и считывает его, чтобы определить список операций, поддерживаемых сервисом SOAP.
Название Оставить как есть:
delayedstockquoteНазвание создаваемого прокси-сервера API.
Базовый путь Оставить как есть: /delayedstockquoteОписание При необходимости добавьте описание, например Прокси API WSDL для котировок акций. - Нажмите Далее.
- На странице Общие правила в разделе Безопасность: авторизация выберите Пропускать (без авторизации).
- Нажмите Далее.
- На странице WSDL operations (Операции WSDL) выберите REST to SOAP to REST (REST в SOAP в 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 Proxy (Прокси API).
- Нажмите Сервис SOAP.
- На странице "Сведения о прокси-сервере" укажите следующие данные:
Поле Описание WSDL Выберите Пример URL.
Затем выберите:
...delayedstockquote.asmx?WSDLНажмите Проверить.
Apigee Edge получает WSDL-файл и считывает его, чтобы определить список операций, поддерживаемых сервисом SOAP.
Название прокси-сервера Введите:
delayedstockquote.Название создаваемого прокси-сервера.
Базовый путь прокси и Описание Оставьте как есть. - Нажмите Далее.
- На странице WSDL выберите следующие варианты:
В этом поле выполните следующие действия Тип прокси API Выберите REST to SOAP to REST (REST-SOAP-REST).
После того как вы выберете тип прокси, Edge отобразит список операций, для которых будут сгенерированы пути REST API, как показано ниже. В этом списке можно выбрать операции, найденные в WSDL (если вы ищете определенный набор). Обратите внимание, что в таблице также указаны ресурсы, которые клиент REST может использовать для вызова внутреннего сервиса SOAP.
Пока оставьте выбранным первый набор операций.
Тип порта: DelayedStockQuoteSoap Выберите все три операции WSDL. Оставьте остальные настройки без изменений.
- Нажмите Далее.
- На странице "Безопасность" выберите Пропускать (нет).
- Нажмите Далее.
- Примите значения по умолчанию для виртуального хоста и нажмите Далее.
- На странице Build (Сборка) примите значения по умолчанию и нажмите Build and Deploy (Собрать и развернуть), чтобы Edge начал генерировать прокси.
Edge создает прокси-сервер API RESTful. На основе 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, то должны получить текущую цену акций класса C компании Alphabet Inc. Пример:
{
"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, перейдите по следующему URL:
curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.jsonДополнительный вопрос. Как узнать, какие ресурсы, глаголы и параметры запроса нужно использовать?
В тестовом вызове API вы использовали определенный ресурс и параметры запроса в вызове cURL к серверному SOAP-сервису. Но как узнать это самостоятельно?
Ресурс и глагол
В мастере прокси-сервера API при создании прокси вы видели, как операции SOAP будут сопоставляться с глаголами и ресурсами API. Если вы не записали их, то можете узнать их после создания прокси-сервера.
На вкладке Develop (Разработка) прокси API на левой панели навигации вы увидите список потоков в разделе Proxy Endpoints (Конечные точки прокси). Нажмите на нужный поток. Например, это может быть последовательность действий GetQuote (Получить предложение). Затем посмотрите XML-код в области "Код". В элементе <Condition> указаны путь к ресурсу и глагол для потока:/quote и GET.

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

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