Общий клиент служб - обзор

Общий клиент служб отвечает за отправку запросов службам, использующим транспортные протоколы HTTP, JMS, WebSphere MQ и Microsoft .NET. Кроме того, общий клиент служб отображает ответы, возвращаемые службами.

Общий клиент служб рекомендуется использовать для отладки и тестирования службы, если запрос нельзя отправить с помощью отдельного клиента. Можно настроить различные транспортные протоколы и конфигурации защиты, а также изменять параметры запроса и отправлять вложения.

После успешного вызова запроса возврат сообщения добавляется в список Хронология запросов. В этом списке можно просмотреть результаты, полученные в разное время.

В случае применения IBM® Rational Performance Tester или IBM Rational Service Tester for SOA Quality можно выбрать запросы в списке Хронология запросов и нажать кнопку Создать тест для создания теста, позволяющего воспроизвести все выбранные запросы. При необходимости в тесте можно заменить записанные значения на переменные тестовые данные или добавить в него корреляцию динамических данных. Кроме того, можно задать точки проверки для содержимого документов XML в ответах службы.

Поддерживаемые службы

Общий клиент служб позволяет отправлять запросы для служб различных типов, использующих следующие транспортные протоколы:
  • HTTP
  • Служба сообщений Java™ (JMS), включая реализации JBoss и WebSphere
  • WebSphere MQ
  • Microsoft .NET Framework Windows Communication Foundation (WCF).
Прим.: В случае применения IBM Security AppScan поддерживается только транспортный протокол HTTP.

Шифрование и безопасность

Среда выполнения Java (JRE), которую использует рабочая среда, должна поддерживать уровень шифрования, требуемый выбранным цифровым сертификатом. Например, невозможно использовать цифровой сертификат, который требует 256-разрядного шифрования, с JRE, которая поддерживает только 128-разрядное шифрование. По умолчанию рабочая среда настроена с помощью ограниченных шифров. Для использования менее ограниченных алгоритмов шифрования необходимо загрузить и применить файлы стратегии неограниченной юрисдикции (local_policy.jar и US_export_policy.jar).

Эти файлы стратегии неограниченной юрисдикции можно загрузить с сайта: http://www.ibm.com/developerworks/java/jdk/security/50/

Щелкните на ссылке Файлы IBM SDK Policy, а затем войдите в developerWorks для получения файлов стратегии неограниченной юрисдикции. Перед установкой этих файлов стратегии скопируйте существующие файлы стратегии, если вы хотите восстановить первоначальные файлы позже. Затем перезапишите файлы в каталоге /jre/lib/security/ на файлы стратегии неограниченной юрисдикции.

Аутентификация SSL

Тесты служб поддерживают простые или двойные механизмы аутентификации SSL:
  • Простая аутентификация (аутентификация сервера): В этом случае тестовый клиент должен определить, можно ли доверять службе. Вам не обязательно устанавливать хранилище ключей. Если выбрана опция Всегда доверять, не обязательно предоставлять хранилище ключей сертификатов сервера.

    Если необходимо фактически аутентифицировать службу, можно настроить хранилище доверенных сертификатов, которое содержит сертификаты надежных служб. В этом случае тест будет ожидать получения верного сертификата.

  • Двойная аутентификация (аутентификация клиента и сервера): В этом случае служба должна аутентифицировать тестовый клиент в соответствии с его корневыми полномочиями. Вам необходимо предоставить хранилище ключей сертификатов клиента, которое должно быть создано для аутентификации теста как сертифицированного клиента.

Когда тест службы записывается через прокси, прокси записи находится между службой и клиентом. В этом случае необходимо настроить параметры SSL прокси записи для аутентификации себя как фактической службы на клиенте (для простой аутентификации), и как клиента в службе (для двойной аутентификации). Это означает, что необходимо предоставить прокси записи соответствующие сертификаты.

При использовании заготовок служб можно также настроить параметры SSL заготовки службы для аутентификации себя как фактического сервера. Это означает, что необходимо предоставить заготовке службы соответствующий сертификат.

Аутентификация Kerberos и NTLM

Продукт поддерживает аутентификацию Microsoft NT LAN Manager (NTLMv1 и NTLMv2) и Kerberos. Информация об аутентификации записывается как часть теста на этапе записи.

Для того чтобы включить поддержку NTLMv2 необходимо добавить библиотеку другой фирмы в рабочую среду. Дополнительная информация приведена в разделе Настройка рабочей среду для идентификации NTLMv2.

Цифровые сертификаты

Можно протестировать службы с помощью цифровых сертификатов и для SSL, и для протокола защиты SOAP. Цифровые сертификаты должны содержаться в ресурсах хранилища ключей Java Key Store (JKS), доступных в рабочей области. При работе с файлами хранилища ключей необходимо установить пароль, требуемый для доступа к ключам в редакторе защиты и редакторе тестов. Для защиты SOAP может потребоваться предоставить явное имя ключа и пароль для доступа к личным ключам в хранилище ключей.

Ограничения

Массивы не поддерживаются.

Транспортный протокол службы сообщений Java (JMS) не поддерживает вложение, поскольку отсутствует требуемая спецификация. Пакет отправляется в кодировке UTF-8.

Отдельные реализации среды выполнения Java поддерживают не все алгоритмы защиты. Если конкретная реализация защиты недоступна, добавьте требуемые библиотеки в путь к классам среды JRE, применяемой продуктом.

В инструменте тестирования общих служб отображается пакет, указанный в документе XML. Однако алгоритмы защиты считают конверт двоичным. Таким образом, конфигурация защиты SOAP должна обеспечивать шифрование входящих и исходящих сообщений, сохраняя их в исходном виде в пределах теста.

Транспортный протокол Microsoft .NET не поддерживает транзакции, области действия и дуплексный режим в запросах, например обратные вызовы и двусторонние службы на основе транспортного протокола MS-MQ.


Комментарии