The custom security interface and the JAR file that contains it are provided with the product in the customsecuritydefinition folder of the com.ibm.rational.ttt.common.models.core plugin. You need these interfaces to create your own algorithms. If you are using IBM® Rational® Performance Tester or IBM Rational Service Tester for SOA Quality, see Extending test execution with custom code for more information about extending test capabilities with Java code.
/**
* ***************************************************************
* 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);
The process method modifies the XML before it is sent to the server.
The unprocess method modifies the XML after it is received from the server.
The setProperties method retrieves any properties that are defined in the security editor for this custom security interface.
The setExecutionContext method is called during test with the object ITestExecutionServices that corresponds to the message using this custom security interface.