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 focused on
editing the values of the XML content.
- 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.
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.
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:
- 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.