Предоставление службы SOAP в качестве прокси-сервера API

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

В этой теме объясняется, как создавать API-прокси для веб-сервисов на основе SOAP. В Edge можно создать два типа SOAP-прокси. Один генерирует RESTful-интерфейс к бэкэнд-сервису SOAP, а другой выполняет «сквозную передачу» SOAP-сообщения на бэкэнд. Оба метода описаны в этой теме.

В этом видео представлен полный пример преобразования SOAP-сервиса в REST-сервис с помощью мастера создания API-прокси в Apigee Edge. Однако, если вам нужен больший контроль над преобразованием SOAP в REST, вы можете создать прокси с помощью политик. Для получения дополнительной информации см. Руководство: Ручное создание API-прокси для преобразования SOAP в REST в Apigee Edge .

Создание RESTful API-прокси для SOAP-сервиса

В этом разделе объясняется, как создать прокси-сервер RESTful SOAP API с опцией REST to SOAP to REST в мастере создания прокси-сервера.

Обзор

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

Для этого типа прокси-сервера Edge автоматически генерирует спецификацию OpenAPI , которую можно использовать для создания документации API.

Основные шаги

Край

Чтобы создать RESTful API-прокси для SOAP-сервиса с помощью пользовательского интерфейса Edge:

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

    Выберите источник WSDL.

    • Исходный веб-адрес (URL) - Введите или вставьте URL-адрес WSDL-файла.
    • С моего компьютера — загрузите WSDL-файл из локальной директории. Вы можете загрузить несколько файлов, если есть зависимости.
  6. Нажмите «Проверить» , чтобы подтвердить WSDL-файл.
  7. Введите следующие данные прокси-сервера:
    Поле Описание
    Имя Название, отображаемое для вашего API. Укажите буквенно-цифровые символы, дефис (-) или подчеркивание (_).
    Базовый путь

    Фрагмент URI, который появляется после адреса http(s)://[host] вашего API-прокси. Edge использует базовый путь URI для сопоставления и маршрутизации входящих запросов к соответствующему API-прокси.

    ПРИМЕЧАНИЕ : Базовый путь API-прокси по умолчанию использует значение, указанное в поле Name , преобразованное в нижний регистр.

    После базового пути следуют любые дополнительные URL-адреса ресурсов. Вот полная структура URL-адресов, которую клиенты будут использовать для вызова вашего API-прокси:

    https://[host]/ base_path / conditional_flow_path

    ПРИМЕЧАНИЕ : Базовый путь должен быть уникальным; нельзя развернуть два API-прокси с одинаковым базовым путем. Если вы отредактируете развернутый API-прокси и установите базовый путь на то же значение, что и базовый путь другого API-прокси, Edge автоматически удалит этот API-прокси при сохранении. Прежде чем вы сможете повторно развернуть API-прокси, необходимо изменить базовый путь так, чтобы он был уникальным.

    Используйте подстановочные знаки в базовых путях.

    Используйте один или несколько символов подстановки /*/ в базовых путях API-прокси, чтобы обеспечить совместимость ваших API-прокси с будущими версиями. Например, базовый путь /team/*/members позволяет клиентам вызывать https://[host]/team/ blue /members и https://[host]/team/ green /members без необходимости создания новых API-прокси для поддержки новых команд. Обратите внимание, что /**/ не поддерживается.

    Описание (Необязательно) Описание API.
  8. Нажмите «Далее» .
  9. На странице «Общие политики» мастера настройте следующие параметры:
  10. На странице операций WSDL выберите тип API-прокси REST to SOAP to REST .

    В таблице перечислены операции, которые Edge «обнаружил» в файле WSDL. Вы можете выбрать и настроить, какие операции вы хотите включить в свой API-прокси. Таблица показана на следующем рисунке.

  11. Выберите тип порта из раскрывающегося списка, чтобы указать, какой набор операций вы хотите использовать. В WSDL элементы типа порта определяют операции, которые можно вызывать в веб-сервисе.
  12. При желании можно изменить путь к REST API для операции. Этот путь будет использоваться в качестве имени ресурса в URL-адресе прокси-сервера API.
  13. При желании можно изменить глагол (метод HTTP), связанный с операцией.
  14. Нажмите «Далее» .
  15. На странице «Виртуальные хосты» мастера выберите виртуальные хосты, к которым будет привязываться API-прокси после развертывания. Дополнительную информацию см. в разделе «О виртуальных хостах» .
  16. Нажмите «Далее» .
  17. Выберите среду(ы) развертывания и нажмите «Создать и развернуть».
    Ваш новый API-прокси создан и развернут в выбранной среде.
  18. Нажмите «Редактировать прокси» , чтобы отобразить страницу с подробной информацией о прокси-сервере API.

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

Чтобы создать RESTful API-прокси для SOAP-сервиса с использованием классического пользовательского интерфейса Edge:

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

    Выберите источник WSDL.

    • URL — Введите URL-адрес WSDL-файла, который вы хотите использовать.
    • Файл — выберите файл WSDL в вашей файловой системе. В случаях, когда имеются дополнительные зависимые файлы, вы можете выбрать их все.
    • Пример URL-адреса — выберите из списка WSDL-файлов общедоступных веб-сервисов. Они удобны для тестирования функций прокси-сервера SOAP/API в Edge.
    Имя прокси

    Это имя для создаваемого вами прокси-сервера.

    Базовый путь прокси

    Фрагмент URI, который появляется после адреса http(s)://[host] вашего API-прокси. Edge использует базовый путь URI для сопоставления и маршрутизации входящих запросов к соответствующему API-прокси.

    Примечание : Базовый путь API-прокси по умолчанию использует значение, указанное в поле Name , преобразованное в нижний регистр.

    После базового пути следуют любые дополнительные URL-адреса ресурсов. Вот полная структура URL-адресов, которую клиенты будут использовать для вызова вашего API-прокси:

    https://[host]/ base_path / conditional_flow_path

    Примечание : Базовый путь должен быть уникальным; нельзя развернуть два API-прокси с одинаковым базовым путем. Если вы отредактируете развернутый API-прокси и установите базовый путь на то же значение, что и базовый путь другого API-прокси, Edge автоматически удалит этот API-прокси при сохранении. Прежде чем вы сможете повторно развернуть API-прокси, необходимо изменить базовый путь так, чтобы он был уникальным.

    Используйте подстановочные знаки в базовых путях.

    Используйте один или несколько символов подстановки /*/ в базовых путях API-прокси, чтобы обеспечить совместимость ваших API-прокси с будущими версиями. Например, базовый путь /team/*/members позволяет клиентам вызывать https://[host]/team/ blue /members и https://[host]/team/ green /members без необходимости создания новых API-прокси для поддержки новых команд. Обратите внимание, что /**/ не поддерживается.

    Описание Краткое описание прокси-сервера.
  7. Нажмите «Далее» .
  8. На странице WSDL выберите тип API-прокси REST to SOAP to REST .

    В таблице перечислены операции, которые Edge «обнаружил» в файле WSDL. Вы можете выбрать и настроить, какие операции вы хотите включить в свой API-прокси. Таблица показана на следующем рисунке.

    На странице операций WSDL тип прокси API установлен на REST to SOAP to REST, и в таблице отображается одна строка результатов операции добавления.

  9. В столбце «Тип порта» выберите набор операций, которые вы хотите использовать. В WSDL элементы типа порта определяют операции, которые можно вызывать в веб-сервисе.
  10. При желании можно изменить HTTP-метод, связанный с операцией.

    Примечание: Edge выбирает наиболее вероятный метод HTTP для каждой операции. Обычно предпочтительнее использовать GET-запросы, поскольку GET-запросы могут быть кэшированы.
  11. При желании можно изменить путь к REST API для операции. Этот путь будет использоваться в качестве имени ресурса в URL-адресе прокси-сервера API.
  12. Пройдите все шаги мастера, чтобы добавить средства безопасности, выбрать виртуальные хосты и среду развертывания.
  13. На странице «Сборка» нажмите «Сборка и развертывание» . Edge сгенерирует и развернет новый API-прокси на основе WSDL.
  14. Перейдите на страницу сводки нового API-прокси. Обратите внимание, что набор ресурсов был создан на основе операций, обнаруженных в файле WSDL.

    На странице «Обзор» прокси-сервера в списке « Ресурсы» представлено подробное описание нового API, его операций и параметров. Это представление можно рассматривать как справочную документацию по API. Edge автоматически генерирует это представление модели API. Просто разверните ресурс, чтобы увидеть его описание и информацию о пути.

О последнем прокси-сервере

Когда Edge генерирует API-прокси на основе WSDL, результирующий прокси фактически представляет собой сложный поток, включающий политики для преобразования данных, извлечения и установки переменных, обработки сообщений и многого другого. После генерации прокси на основе WSDL, просмотрите результирующий поток в представлении «Разработка» пользовательского интерфейса управления API. Там вы сможете увидеть, какие именно политики были добавлены.

Например, на стороне запроса используется политика AssignMessage для установки целевого URL-адреса. На стороне ответа выполняются политики для преобразования ответа из XML в JSON, извлечения части тела SOAP-ответа в переменную и установки сообщения ответа. Эти политики (и другие) добавляются автоматически при создании прокси-сервера.

Спецификация OpenAPI : Чтобы просмотреть автоматически сгенерированную спецификацию OpenAPI для этого прокси, перейдите по адресу http(s)://[proxy_domain]/[proxy_base_path]/openapi.json . Однако преобразование не всегда точное, поскольку не все правила XML-схемы могут быть представлены в спецификации OpenAPI.

Создание сквозного прокси-сервера для SOAP-сервиса.

В этом разделе объясняется, как создать сквозной прокси-сервер с помощью опции «Сквозной прокси-сервер» в диалоговом окне «Создать новый прокси-сервер».

Обзор

Опция «Транзитный прокси» позволяет создать прокси, который передает SOAP-сообщение в запросе к бэкэнд-сервису «без изменений», что значительно упрощает создание прокси для веб-сервиса на основе SOAP. В фоновом режиме Edge автоматически обрабатывает все преобразования и другие действия в потоке данных. Например, если запрос имеет формат JSON, Edge выполняет шаги по его преобразованию в допустимое XML-сообщение SOAP с правильными пространствами имен перед отправкой его в сервис методом POST. Аналогично, когда сервис возвращает ответ SOAP в формате XML, Edge преобразует его обратно в JSON перед отправкой клиенту. Кроме того, Edge настраивает целевую конечную точку бэкэнда, которая может различаться для каждой операции SOAP.

Для этого типа прокси-сервера Edge размещает WSDL и создает в нем поток, позволяющий получить к нему доступ. Адрес этого размещенного на Edge WSDL, http(s)://[proxy_domain]/[proxy_base_path]?wsdl , становится новым URL-адресом конечной точки службы для клиентов, вызывающих SOAP-сервис через прокси-сервер.

Основные шаги

Край

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

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

    Выберите источник WSDL.

    • Исходный веб-адрес (URL) - Введите или вставьте URL-адрес WSDL-файла.
    • С моего компьютера — загрузите WSDL-файл из локальной директории. Вы можете загрузить несколько файлов, если есть зависимости.
    Имя

    Название API-прокси.

    Базовый путь

    Фрагмент URI после адреса http(s)://[host] вашего API-прокси. Edge использует базовый путь URI для сопоставления и маршрутизации входящих запросов к соответствующему API-прокси.

    Примечание : Рекомендации Apigee по версионированию API см. в электронной книге « Версионирование в проектировании веб-API: недостающее звено» .

    После базового пути следуют любые дополнительные URL-адреса ресурсов. Вот полная структура URL-адресов, которую клиенты будут использовать для вызова вашего API-прокси:

    https://[host]/ base_path /conditional_flow_path

    Примечание : Базовый путь должен быть уникальным. Если вы позже отредактируете этот прокси и установите его базовый путь таким же, как у другого API-прокси, этот API-прокси будет автоматически удален при сохранении. Необходимо отредактировать базовый путь, прежде чем вы сможете повторно развернуть его.

    Использование подстановочного знака в базовых путях

    В базовых путях API-прокси можно использовать один или несколько символов подстановки /*/ для обеспечения совместимости с будущими версиями прокси. Например, базовый путь /team/*/members позволяет клиентам обращаться к https://[host]/team/ blue /members и https://[host]/team/ green /members без необходимости создания новых API-прокси для поддержки новых команд. Обратите внимание, что использование /**/ не поддерживается.

    Примечание : Базовый путь API-прокси по умолчанию определяется значением, указанным в поле «Имя», и преобразуется в нижний регистр, если вы явно не отредактируете содержимое поля «Базовый путь».

    Описание (Необязательно) Описание API.
  6. Нажмите «Далее» .
  7. На странице «Общие политики» мастера настройте следующие параметры:
  8. На странице WSDL выберите тип API-прокси Pass-Through SOAP .

  9. Выберите тип порта из раскрывающегося списка, чтобы указать, какой набор операций вы хотите использовать. В WSDL элементы типа порта определяют операции, которые можно вызывать в веб-сервисе.
  10. Нажмите «Далее» .
  11. На странице «Виртуальные хосты» мастера выберите виртуальные хосты, к которым будет привязываться API-прокси после развертывания. Дополнительную информацию см. в разделе «О виртуальных хостах» .
  12. Выберите среду(ы) развертывания и нажмите «Создать и развернуть».
    Ваш новый API-прокси создан и развернут в выбранной среде.
  13. Нажмите «Редактировать прокси» , чтобы отобразить страницу с подробной информацией о прокси-сервере API.

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

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

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

    Выберите источник WSDL.

    • URL — Введите URL-адрес WSDL-файла, который вы хотите использовать.
    • Файл — выберите файл WSDL в вашей файловой системе. В случаях, когда имеются дополнительные зависимые файлы, вы можете выбрать их все.
    • Пример URL-адреса — выберите из списка WSDL-файлов общедоступных веб-сервисов. Они удобны для тестирования функций прокси-сервера SOAP/API в Edge.
    Имя прокси

    Это имя для создаваемого вами прокси-сервера.

    Базовый путь прокси Базовый путь прокси — это фрагмент URI, который однозначно идентифицирует API, предоставляемый этим прокси-сервером. API-сервисы используют URI базового пути для сопоставления и маршрутизации входящих запросов к соответствующему прокси-серверу API. (Базовый путь добавляется к домену API, который автоматически генерируется на основе названия вашей организации и среды , в которой развернут прокси-сервер API.) Рекомендуется включать номер версии в имя проекта, например, /v1/delayedstockquote . Это определит, как ваш API будет вызываться приложениями-потребителями.

    Примечание : По умолчанию поле «Базовый путь к прокси-серверу» использует значение, указанное в поле «Имя прокси-сервера», преобразованное в нижний регистр, если вы явно не отредактируете содержимое поля «Базовый путь к прокси-серверу».

    Описание Краткое описание прокси-сервера.

  7. Нажмите «Далее» .
  8. На странице WSDL выберите тип API-прокси Pass-Through SOAP .

    Примечание: Приведена таблица, в которой перечислены все операции WSDL и соответствующая им полезная нагрузка SOAP. Это полезная нагрузка, которая "передается" в бэкэнд-сервис SOAP.

    На странице WSDL тип прокси API установлен на Pass-Through SOAP, а список операций, таких как GetQuote, организован по типу порта.
  9. В столбце «Тип порта» выберите набор операций, которые вы хотите использовать. В WSDL элементы типа порта определяют операции, которые можно вызывать в веб-сервисе.
  10. Пройдите все шаги мастера, чтобы добавить средства безопасности, выбрать виртуальные хосты и среду развертывания.
  11. На странице «Сборка» нажмите «Сборка и развертывание» . Edge сгенерирует и развернет новый API-прокси на основе WSDL.

О последнем прокси-сервере

Когда Edge генерирует сквозной прокси-сервер, результирующий прокси фактически представляет собой сложный поток, включающий политики для преобразования данных, извлечения и установки переменных, обработки сообщений и многого другого. После генерации сквозного прокси-сервера просмотрите результирующий поток в представлении «Разработка» пользовательского интерфейса управления API. Там вы сможете увидеть, какие именно политики были добавлены.

Например, на следующем рисунке показана часть процесса предварительной обработки целевой конечной точки сквозного прокси-сервера. На стороне запроса используется политика AssignMessage для установки целевого URL-адреса. На стороне ответа выполняются политики для преобразования ответа из XML в JSON, извлечения части тела SOAP-ответа в переменную и установки сообщения ответа. Эти политики (и другие) добавляются автоматически при создании прокси-сервера.

В режиме разработки на панели «Поток» стрелки отображают последовательность действий от запроса к ответу, а значки — политики.

WSDL, сгенерированный для этого типа прокси: Чтобы просмотреть WSDL, сгенерированный для этого типа прокси, перейдите по адресу http(s)://[proxy_domain]/[proxy_base_path] ?wsdl .

Разработка прокси-серверов SOAP-to-REST повышенной сложности

В предыдущих разделах рассматривалось создание прокси-сервера API для преобразования SOAP в REST с помощью мастера создания прокси-серверов API в Edge. Однако, если вам нужен более точный контроль над преобразованием SOAP в REST, вы можете обойти автоматизацию, предоставляемую мастером, и создать прокси-сервер, вручную добавив и настроив политики для получения желаемого поведения. Для получения дополнительной информации см. Руководство: Ручное создание прокси-сервера API для преобразования SOAP в REST в Apigee Edge .