定制安全接口与包含该接口的 JAR 文件随产品提供,其位置在 com.ibm.rational.ttt.common.models.core 插件的 customsecuritydefinition 文件夹中。您需要这些接口来创建自己的算法。如果您使用的是 IBM® Rational® Performance Tester 或 IBM Rational Service Tester for SOA Quality,请参阅通过定制代码扩展测试执行以获取关于通过 Java 代码扩展测试功能的更多信息。
/**
* ***************************************************************
* IBM Confidential
*
* (c) Copyright IBM Corporation. 2008. All Rights Reserved.
*
* 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 {
/**
* The following methods can be used in both case:
* Execution in the workbench and execution of the test.
*/
/**
* Called to process de Document that is sent over a transport.
* @param subject
*/
void process(Document subject);
/**
* Called to un process a document that is received from a server.
* @param subject
*/
void unProcess(Document subject);
/**
* Properties defined in the UI of the CustomSecurityAlgorithm.
* @param map
*/
void setProperties(Properties map);
/**
* The following methods can only be used in terms of cast to test service interface,
* or in terms of access to the previous XML information, when the jar containing
* the custom security algorithm is deployed in the performance test project. In
* this case you cannot use the algorimth directly from the workbench.
*/
/**
* This object corresponds to the ITestExecutionService object.
* This applies only to an algorithm that must link to the execution of the test.
* If you plan to use this object you will need to deploy the jar containing the
* implementation into your performance test project and not directly into the JRE.
*
* In case of a need of the previous xml document received from the execution you can
* obtain the value using:
* 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 方法接收在安全性编辑器中为该定制安全接口定义的任何属性。
在使用该定制安全接口对与消息对应的对象 ITestExecutionServices 进行测试期间将调用 setExecutionContext 方法。