In this document:
Introduction
The Equifax Message Listener is a custom extension for Parasoft Virtualize. The extension is designed for virtualizing Equifax credit reporting services. This allows you to create virtual assets that emulate the behavior of external Equifax services, facilitating development and testing efforts by removing dependencies on third-party services in the test and development environment. The Equifax virtualization capabilities allow you to broaden test coverage, better manage response data, and perform performance and load testing without impacting the real Equifax services.
The Equifax Message Listener is implemented so that you can use message construction forms (in Form Input or Form XML), data source parameterization, and message correlation techniques (XPaths) when creating and configuring virtual assets. To enable this, the extension converts the Equifax request messages to and from XML.
Installation
The tool can be installed from the UI or command line.
UI Installation
- Go to Parasoft > Preferences and click System Properties.
- Click Add JARs and select the com.parasoft.virtulaize.listener.equifax<version>.jar file.
- Click Apply.
- Restart SOAtest/Virtualize.
Command Line Installation
Add the com.parasoft.virtualize.listener.equifax<version>.jar file to the system.properties.classpath
property in your settings properties file. For example:
system.properties.classpath=<PATH_TO_JAR>/com.parasoft.virtualize.listener.equifax-1.0.0.jar
Usage
To set up the Equifax Message Listener, add a Parasoft Virtual Asset (PVA) to a Virtualize server, then double click the PVA and navigate to the custom sub-tab under the transport tab and configure the listener, if more than one listener is installed, com.parasoft.virtualize.listener.equifax.EquifaxMessageListener
must first be selected from the implementation menu.
Paths
Option | Description |
---|---|
Equifax Input/Output Log File Path | Sets the path to a file to be used for logging. The input/output log files contain the Equifax Message Listener’s incoming and outgoing requests. They can be helpful for validating whether the Equifax parser is configured and behaving properly. |
Custom Equifax Request Properties File Path | Sets the path to the request properties file. The properties file contains the location and length of each field in the incoming request. It allows the Equifax Message Listener to parse the incoming request into an XML format to be used for correlations. An example configuration of this file ships with this extension in the Note: If left blank the default Equifax request format will be used, included in the |
Port Configuration
Option | Description |
---|---|
Equifax Incoming Message Port | Sets the port to listen for incoming Equifax messages. If empty, the listener will not start. |
Out Going Message Host | Sets the host to use when sending Equifax responses. |
Equifax Out Going Message Port | Sets the port to use when sending Equifax responses. |
Request Properties
Option | Description |
---|---|
ASCII Decimal Representation For Start of Response Marker (Optional) | Sets the ASCII characters that specify the start of a response message. |
ASCII Decimal Representation For End of Response Marker (Optional) | Sets the ASCII characters that specify the end of a response message. |
Configuring the Message Responders
Defining Correlations
When specifying correlations for Equifax note that Equifax request messages are converted to XML. Using the XML version of the request, you can construct an XPath expression to perform correlations. Here is an example of an XML-converted request:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <subjectFirstName>Frank</subjectFirstName> <subjectLastName>Park</subjectLastName> . . </SOAP-ENV:Envelope>
If you wanted to set up an XPath expression so that you can have a correlation on the subjectFirstName
value, you could use:
/*[local-name(.)="Envelope"]/*[local-name(.)="subjectFirstName"]/text()
The path to the element is given starting at the root, down to the subjectFirstName
element. The text value will then be used for the correlation. The XML-converted request can be viewed using the Event Details view to better help with constructing of XPaths. See Gaining Visibility into Server Events for more information.
Defining Responses
There are several ways to configure Message Responders with the desired Equifax response messages. To ensure that the Equifax parser can successfully convert the XML formatted response to an Equifax-standard response, you will need to use XML format in the sample XML response file for all segments and fields.
- If you have an existing Equifax response message (obtained from your application logs or other sources), you can take advantage of Virtualize's ability to convert to/from XML. This lets you copy an existing Equifax response into the Literal view and convert it to XML by switching to the Form XML view and back again. This enables scripting or parameterization of a desired Equifax response with a data source.
- Note that this Equifax parser implementation uses the deprecated
ICustomMessageConverter
interface of the extension framework in order to enable conversion to/from XML. See the Extensibility API documentation for details.
- Note that this Equifax parser implementation uses the deprecated
If you have multiple existing response messages with an understanding of how to correlate them to request messages, then use the Multiple Responses option in the responder and paste each response message into the Message tab area of each response. Each response matching criteria needs to be set (as described in Defining Correlations). See Multiple Responses for general information about entering multiple responses.
If you do not have existing Equifax messages or you prefer to model them from scratch (for example, the application does not yet exist, is not ready, or you cannot obtain samples), then use the schema available in the examples/listeners folder to construct a Form Input, then configure the fields. This approach provides awareness to the available (valid) fields, and it allows for advanced capabilities such as the use of array data sources (as described in Parameterizing Tools with Data Source Values, Variables, and Extracted Values).