Реализация пользовательского алгоритма защиты

Для профайлов защиты можно указать собственные алгоритмы защиты 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 находится в разделе Расширение тестов с помощью пользовательского кода.

Процедура

  1. На панели Навигатор тестов или Структура проектов создайте новый класс Java в папке проекта тестирования веб-службы.
  2. Реализуйте алгоритм защиты в 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, который соответствует сообщению, использующему этот пользовательский интерфейс защиты.

  3. Пользовательский интерфейс защиты можно использовать в редакторе защиты WSDL для веб-служб или в элементах вызова XML на вкладке Локальная защита XML.
    • В случае тестирования веб-службы WSDL щелкните правой кнопкой мыши на файле WSDL на панели Навигатор тестов или Структура проектов, чтобы открыть редактор защиты WSDL. Перейдите на страницу Алгоритмы защиты и в области Сведения о выбранном стеке алгоритмов защиты выберите Добавить > Пользовательский алгоритм защиты.
    • В случае тестирования вызова XML откройте элемент вызова XML в редакторе тестов, перейдите на вкладку Локальная защита XML и выберите Добавить > Пользовательский алгоритм защиты
  4. В окне пользовательской защиты выберите Выбрать класс и укажите имя класса алгоритма пользовательской защиты, например ICustomSecurityAlgorithm.
  5. В поле Имя алгоритма введите имя пользовательского алгоритма защиты.
  6. В списке свойств с помощью кнопок Добавить, Удалить и Изменить укажите свойства, применяемые методом setProperties в пользовательском алгоритме защиты.

Дальнейшие действия

После сохранения конфигурации защиты или элемента вызова на панели Данные протокола веб-службы отображаются результаты применения алгоритма защиты к данным XML веб-службы.

Комментарии