產品會隨附自訂安全介面和包含它的 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);
將 XML 傳送給伺服器之前,process 方法會先修改 XML。
在收到伺服器傳來的 XML 之後,unprocess 方法會修改該 XML。
setProperties 方法會擷取在安全編輯器中針對這個自訂安全介面所定義的任何內容。
在測試期間,會使用 ITestExecutionServices 物件來呼叫 setExecutionContext 方法,此物件對應至使用這個自訂安全介面的訊息。