XML call details

XML call elements contain the contents of the call and the transport information for this call. The contents consist of plain XML that is transmitted over an HTTP or JMS transport. The transport information refers to the information that is required to send and receive and answer depending on the selected protocol.
Update node name automatically
When enabled, this option updates the name of the XML call element in the test contents.
One way
This option specifies that no response from the server is expected after the call. This disables the Update Return button.
Time Out (ms)
This is the timeout value in milliseconds. If no response is received after the specified time, an error is produced.
Think Time (ms)
This specifies the programmatically-calculated time delay that is observed for each user when this test is run with multiple virtual users. Think time is a statistical emulation of the amount of time actual users spend reading or thinking before performing an action.
Update Return
This opens the Return Preview window. From this window, you can invoke the call from the workbench to create or update the message return that is associated with the call.

Message

These pages present the XML contents of the call and provide access to data correlation in three different forms

Form
This view provides a simplified view of the message that focuses on editing the values of the XML content. Use the Schema menu to enable assistance with editing XML content so that the XML is valid and complies with the XSD specification.

In the Form view, add the XML headers that are required for standard web service calls. On the Header bar, click Add (Add button) to create the default XML header structure for WS-Addressing, WS-ReliableMessaging or WS-Coordination requests, or click More for other standards. You can enable or disable XML header elements and specify the correct values for each XML element. Checks are performed to ensure that the XML content is valid.

Note: To add XML headers to calls in IBM® Security AppScan®, add a Static XML Headers algorithm on the Request Stack tab of the request.
Tree

This view provides a hierarchical view of the XML structure of the message, including elements, namespaces, and the associated values. You can use Add, Insert, Remove, Up, and Down to edit the XML elements and namespaces in the tree.

Use Skip if Empty column to select the empty XML elements that you want to skip. This column is visible only if you selected the Display the 'Skip if Empty' column in XML tree viewer check box in Window > Preferences > Test > Test editor > Service test.

Click Filter to hide or show namespace, attribute, or text nodes, depending on your requirements.

Click Allow only valid modifications to enable smart editing, based on a specified XML schema document (XSD). To specify a set of XSD documents for the workbench, in the test navigator, right-click the project and select Properties and Schema Catalog. Disable Allow only valid modifications if you do not have an XSD or if you want to bypass the schema.

You can right-click an XML element to convert it to an XML fragment. This enables you to perform data correlation (use datapools and create references) on the entire XML fragment instead of only on the value.

Source
This view displays the source XML content of the message or plain text content. To format XML content, click Format XML text. To wrap XML content into a single line, click Pack XML text to single line. Similar controls are available for JSON content.
Important: In the Source view, do not edit the tags that start with SoaTag. If you delete or change these tags, any references and substitutions in the test will be broken. You cannot recreate these tags after you delete them.

Attachments

This page lists the MIME attachments that are attached to the call. The contents of this view correspond to the specification of Multipurpose Internet Mail Extensions (MIME). You can use this page to add workbench resources as MIME attachments and change properties.

The Content ID is the identifier that the call uses to refer to the attachments. The method for using this identifier depends on your server requirements.

Protocol

This page covers the protocol that is used to send the call. The protocol can be either HTTP or Java™ Message Service (JMS) on a message-by-message basis.

HTTP
This page enables you to override the HTTP settings that are attached to the call for a local HTTP configuration.
Method
This option enables you to specify the HTTP method of the XML call, among the following list of methods:
  • POST
  • GET
  • PUT
  • DELETE
Version

This option enables you to specify either HTTP 1.0 or HTTP 1.1.

URL

This field enables you to specify the URL of the XML call.

Headers

This section enables you to add headers to your call. Headers must be compatible with the specified HTTP method.

The application manages the following headers and they cannot be added:
  • User Agent
  • Host Connection
  • Cache-Control
  • Pragma
  • Content-Type
  • Content-Length
Cookies

This section enables you to manage cookies. You can add, edit and remove cookies, and create references.

JMS

This page enables you to add string properties that are attached to the call for a local JMS configuration. These will be sent as message properties through JMS.

MQ

This page enables you to override settings that are attached to the call for a local WebSphere® MQ configuration.

Name
This is the name that is displayed in the message call as a link to this protocol configuration.
Queue manager name
Specifies the name of the queue manager to which you want to send the call.
Queue name
Specifies the name of the queue that the queue manager manages.
Use local queue manager
Specifies whether the WebSphere MQ server is running on the local computer. If the server is located on a remote computer, clear this option to specify the remote MQ server details.
Queue manager address
Specifies the IP address or hostname of the remote MQ server.
Queue manager port
Specifies the listener port of the remote MQ server.
Client channel
Specifies the server-connection mode channel of the remote queue manager.
Use temporary queue
Specifies whether the MQ server creates a temporary queue. If selected, the temporary queue is created for the sole purpose of receiving specific messages, and then deleted.
Queue name
If Use temporary queue is cleared, this option specifies the name of the queue where message returns from the MQ server are received. The queue manager that is specified in Queue manager name must manage this queue.

The calls and message returns are associated by the correlation ID in the MQ message, which means that the report setting of the message is set to MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID. The server must follow this constraint. This supports the transport for SOAP feature provided by WebSphere MQ.

Target service
This option is for using Microsoft .NET with the IBM WebSphere MQ transport for SOAP feature. This specifies the name of the ASPX file within the .NET listener directory.
Use RFH2 Header
Specifies whether the SOAP messages uses an RFH2 header, which uses a predetermined MQ message format. When selected, other Message Descriptor options are disabled. Use this option for the WebSphere MQ transport for SOAP feature. If you are using WebSphere Integration Developer (WID) MQ binding, the binding understands messages with or without the RFH2 header.
Message Descriptor
This section enables you to configure the fields of the message call. You can replace a subset of an MQ message descriptor with a custom format for use with other server types, specifically when using an XML message call. See WebSphere MQ documentation for details about message descriptors.
Use temporary queue
This section enables you to specify a user name and password for basic authentication on the application server.
SSL connection
Select this option to use an SSL configuration if a Client Channel setting refers to a secure channel. Click Open SSL Editor to create a new SSL configuration, or Change to change the SSL configuration that is associated with the current test.

If the Web Services Description Language (WSDL) that is used to create the message call uses a supported JMS URI to point to the WebSphere MQ server, then the SSL configuration is created automatically. If the test generator was unable to create the SSL configuration, you must create a new one manually.

If the WSDL was generated with the WebSphere MQ service (amqwdeployWMService), edit the WSDL to change the transport binding from HTTP to JMS in order to prevent the test generator to produce an HTTP configuration.

Cipher suite
Specify the cipher suite that is used in the channel configuration.

Local XML Security

This page allows you to add a custom security algorithm that is implemented in a Java class. Custom algorithms can be applied to the XML contents that are sent to and received from the server.

Add, Insert, Remove, Up, and Down
These buttons allow you to create a stack of security algorithms. Each algorithm is applied to the stack sequentially. Click Add to add a custom security algorithm.
Tools
This button allows you to change the way the algorithm stack is displayed.
Custom Security Algorithm

After adding a custom security algorithm to the stack. With this window, you can specify the Java class that implements the algorithm. The Java class uses the following interface:

/**
* ***************************************************************
* 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.
  • ThesetProperties 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.
Custom Security Algorithm Class Name
This specifies the class that implements the security algorithm. Click Browse Class to select a class from the workspace.
Algorithm Name
This specifies a name for the current algorithm.
Properties
This list specifies properties that the setProperties method uses in the algorithm. Use Add, Remove, or Edit to create the properties list.
Feedback