Для профайлов защиты можно указать собственные алгоритмы защиты SOAP путем реализации
пользовательских интерфейсов Java™ защиты, с которыми
можно работать в редакторе защиты WSDL. Пользовательские алгоритмы защиты позволяют реализовать преобразование XML содержимого сообщений
перед отправкой и после приема.
Прежде чем начать
Пользовательский интерфейс защиты и содержащий его файл JAR поставляются вместе с
продуктом в папке customsecuritydefinition модуля
com.ibm.rational.ttt.common.models.core.
Эти интерфейсы необходимы для создания
собственных алгоритмов. Если используется IBM® Rational Performance Tester или IBM Rational Service Tester for SOA Quality, то дополнительная информация о расширении функциональности с помощью кода
Java находится в разделе
Расширение тестов с помощью пользовательского кода.
Процедура
- На панели Навигатор тестов или Структура проектов создайте новый класс
Java в папке проекта тестирования веб-службы.
- Реализуйте алгоритм защиты в Java с помощью следующего
интерфейса:
/**
* ***************************************************************
* IBM Confidential
*
* (c) Copyright IBM Corporation. 2008. Все права защищены.
*
* The source code for this program is not published or otherwise
* divested of its trade secrets, irrespective of what has been
* deposited with the U.S. Copyright Office.
* ***************************************************************
*
*/
package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
import java.util.Properties;
import org.w3c.dom.Document;
public interface ICustomSecurityAlgorithm {
/**
* Следующие методы допустимы в обоих случаях:
* Выполнение в рабочей среде и выполнение теста.
*/
/**
* Вызывается для обработки документа, передаваемого передаваемого по транспортному протоколу.
* @param subject
*/
void process(Document subject);
/**
* Вызывается для обратной обработки документа, полученного с сервера.
* @param subject
*/
void unProcess(Document subject);
/**
* Свойства, заданные в пользовательском интерфейсе CustomSecurityAlgorithm.
* @param map
*/
void setProperties(Properties map);
/**
* Следующие методы допустимы только в контексте преобразования в интерфейс службы тестирования
* или доступа к предыдущей информации XML, если файл jar с пользовательским алгоритмом защиты
* развернут в проекте тестирования производительности. В этом случае алгоритм нельзя использовать
* непосредственно из рабочей среды.
*/
/**
* Этот объект соответствует объекту ITestExecutionService.
* Он относится только к алгоритму, связанному с выполнением теста.
* Для применения этого объекта файл jar с реализацией следует развернуть
* в проекте тестирования производительности, а не в среде JRE.
*
* Предыдущий документ xml, полученный в ходе выполнения, можно получить с
* помощью следующей строки:
* IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
*String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
*
*/
void setExecutionContext(Object executionObject);
Метод process изменяет XML перед отправкой серверу.
Метод unprocess изменяет XML после приема сервером.
Метод setProperties извлекает свойства пользовательского интерфейса защиты
из редактора защиты.
Метод setExecutionContext вызывается в ходе тестирования с объектом
ITestExecutionServices, который соответствует сообщению, использующему этот
пользовательский интерфейс защиты.
- Пользовательский интерфейс защиты можно использовать в редакторе защиты
WSDL для веб-служб или в элементах вызова XML на вкладке Локальная защита
XML.
- В случае тестирования веб-службы WSDL щелкните правой кнопкой мыши на файле WSDL на панели
Навигатор тестов или Структура проектов, чтобы открыть редактор защиты WSDL. Перейдите на страницу Алгоритмы защиты и в области Сведения о выбранном стеке алгоритмов
защиты выберите .
- В случае тестирования вызова XML откройте элемент вызова XML в редакторе тестов, перейдите на
вкладку Локальная защита XML и выберите
- В окне пользовательской защиты выберите Выбрать класс и укажите имя класса алгоритма пользовательской защиты, например
ICustomSecurityAlgorithm.
- В поле Имя алгоритма введите имя пользовательского алгоритма защиты.
- В списке свойств с помощью кнопок Добавить,
Удалить и Изменить укажите свойства, применяемые
методом setProperties в пользовательском алгоритме защиты.
Дальнейшие действия
После сохранения конфигурации защиты или элемента вызова на панели
Данные
протокола веб-службы отображаются результаты применения алгоритма защиты к данным XML
веб-службы.