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

  1. Go to Parasoft > Preferences and click System Properties.
  2. Click Add JARs and select the com.parasoft.virtulaize.listener.equifax<version>.jar file.
  3. Click Apply.
  4. 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

OptionDescription
Equifax Input/Output Log File PathSets 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 examples/ directory as EquifaxRequestExample.properties.

Note: If left blank the default Equifax request format will be used, included in the examples/ directory as equifax.xsd.

Port Configuration

OptionDescription
Equifax Incoming Message PortSets the port to listen for incoming Equifax messages. If empty, the listener will not start.
Out Going Message HostSets the host to use when sending Equifax responses.
Equifax Out Going Message PortSets the port to use when sending Equifax responses.

Request Properties

OptionDescription
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. 

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.
  • 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). 

  • 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.


  • No labels