Прокси службы SOAP

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Что вы узнаете

Благодаря этому уроку вы научитесь:

  • Создайте прокси-сервер Edge API из файла WSDL.
  • Узнайте разницу между типом прокси-сервера RESTful SOAP и сквозным прокси-сервером SOAP.

В этом руководстве вы узнаете, как разместить прокси-сервер Edge API перед веб-службой на основе SOAP.

В этом руководстве показано, как создать новый RESTful API для вашей службы на основе SOAP. Хотя здесь это подробно не описано, вы также можете создать сквозной прокси-сервер, который принимает полезную нагрузку SOAP и передает ее внутренней службе.

Что вам понадобится

Создание прокси

Здесь Edge сгенерирует прокси-сервер, который будет находиться перед службой SOAP. Существует два типа прокси-серверов SOAP API:

  • Тип прокси-сервера REST-SOAP-REST создает новый RESTful API с уровнем трансляции в SOAP. Клиенты вызывают его так же, как и другие службы RESTful, передавая параметры запроса, необходимые внутренней службе. Edge преобразует это в полезную нагрузку SOAP, ожидаемую службой.
  • Тип сквозного прокси-сервера позволяет клиентам просто передавать полезную нагрузку SOAP. Это способ использовать преимущества функций управления Edge при вызовах службы SOAP.

Край

Чтобы проксировать службу SOAP с помощью пользовательского интерфейса Edge:

  1. Войдите на сайт apigee.com/edge .
  2. Выберите «Разработка» > «Прокси API» на левой панели навигации.
  3. Нажмите +Прокси .
  4. Нажмите Служба SOAP .
  5. На странице сведений о прокси введите следующее:

    Поле Описание
    источник WSDL

    Выберите: URL-адрес

    Скопируйте и вставьте следующий URL-адрес WSLD в поле «Введите URL-адрес» :

    https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

    Нажмите: Подтвердить.

    Apigee Edge получает файл WSDL и считывает его, чтобы узнать список операций, которые поддерживает служба SOAP.

    Имя

    Оставить как есть: delayedstockquote

    Это имя прокси-сервера API, который вы создаете.

    Базовый путь Оставить как есть: /delayedstockquote
    Описание При необходимости добавьте описание, например: Котировка акций. Прокси-сервер WSDL API.
  6. Нажмите Далее .
  7. На странице Общие политики в разделе Безопасность: Авторизация выберите Сквозной (без авторизации) .
  8. Нажмите Далее .
  9. На странице операций WSDL выберите: REST to SOAP to REST .

    После выбора типа прокси Edge отображает список операций, для которых он будет генерировать пути REST API. Этот список позволяет вам выбирать из операций, найденных в WSDL (если у вас есть конкретный набор, который вы ищете). Обратите внимание, что в таблице также отображаются ресурсы, которые клиент REST может использовать для вызова внутренней службы SOAP.

    Оставьте все остальные параметры на странице как есть.

  10. Нажмите Далее .
  11. Примите настройки виртуального хоста по умолчанию, нажав «Далее» .
  12. На странице «Сводка» в разделе «Необязательное развертывание» нажмите « Тестировать» , а затем «Создать и развернуть» .

    Edge генерирует прокси-сервер RESTful API и развертывает его в test среде. Из WSDL он определяет поддерживаемые службой операции, входные параметры и т. д. Edge предлагает, какой метод HTTP использовать для каждой операции. Обычно Edge преобразует операции в запросы GET, преимуществом которых является возможность кэширования. Edge также настраивает целевую конечную точку серверной части, которая может варьироваться в зависимости от операции SOAP.

    Если вы не настраиваете новый прокси-сервер API (а вы не участвуете в этом руководстве), это все, что нужно. Вы можете перейти к тестированию нового прокси API.

Классический Edge (частное облако)

Чтобы проксировать службу SOAP с помощью классического пользовательского интерфейса Edge:

  1. Войдите в систему по http:// ms-ip :9000 , где ms-ip — это IP-адрес или DNS-имя узла сервера управления.
  2. Выберите API > Прокси API на верхней панели навигации.
  3. Нажмите + Прокси-сервер API .
  4. Нажмите Служба SOAP .
  5. На странице сведений о прокси введите следующее:

    Поле Описание
    WSDL

    Выберите: Пример URL-адреса.

    Затем выберите:
    ...delayedstockquote.asmx?WSDL

    Нажмите: Подтвердить.

    Apigee Edge получает файл WSDL и считывает его, чтобы узнать список операций, которые поддерживает служба SOAP.

    Имя прокси

    Введите: delayedstockquote

    Это имя прокси, который вы создаете.

    Базовый путь и описание прокси-сервера Оставьте как есть.
  6. Нажмите Далее .
  7. На странице WSDL выберите следующие параметры:
    В этой области сделай это
    Тип прокси API

    Выберите: REST в SOAP в REST.

    После выбора типа прокси Edge отображает список операций, для которых он будет генерировать пути REST API, как показано здесь. Этот список дает вам возможность выбрать одну из операций, найденных в WSDL (если у вас есть конкретный набор, который вы ищете). Обратите внимание, что в таблице также отображаются ресурсы, которые клиент REST может использовать для вызова внутренней службы SOAP.

    А пока просто оставьте выбранным первый набор операций.

    Тип порта: DelayedStockQuoteSoap Выберите все три операции WSDL. Остальные настройки оставьте как есть.

  8. Нажмите Далее .
  9. На странице «Безопасность» выберите «Пропустить (нет)» .
  10. Нажмите Далее .
  11. Примите настройки виртуального хоста по умолчанию и нажмите «Далее» .
  12. На странице «Сборка» примите значения по умолчанию и нажмите «Сборка и развертывание» , чтобы 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 to SOAP to REST», Edge автоматически генерирует спецификацию OpenAPI . Вы можете использовать спецификацию OpenAPI для создания документации API для API.

Чтобы получить спецификацию OpenAPI, просто посетите этот URL:

curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.json

Дополнительный балл: как узнать, какой ресурс, команду и параметры запроса использовать?

В тестовом вызове API вы использовали определенный ресурс и параметры запроса в вызове cURL к серверной службе SOAP. Но как узнать это самостоятельно?

Ресурс и глагол

В мастере прокси-сервера API при создании прокси-сервера вы видели, как операции SOAP будут сопоставляться с командами и ресурсами API. Но если вы их не записали, вот как вы это узнаете после создания прокси.

На вкладке «Разработка» прокси-сервера API в левой панели навигатора вы увидите список потоков в разделе «Конечные точки прокси». Щелкните интересующий вас поток. Например, поток GetQuote является хорошим кандидатом. Затем просмотрите XML на панели «Код», где показаны путь к ресурсу и команда для потока в элементе <Condition>: /quote и GET .

Параметры запроса

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

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