In this section:
Introduction
The Parasoft HTTP/2 Transport Extension adds support for the HTTP/2 transport to applicable messaging client tools in Parasoft SOAtest. This allows users to take full advantage of SOAtest's rich interface when they're configuring, sending, and validating messages sent over HTTP/2.
Prerequisites
- SOAtest 9.9.5 to 2021.2
- Oracle Java 8 version 1.8.0_5 to 1.8.0_242
- ALPN
Installation
The tool can be installed from the UI or command line.
JDK Installation
Modify SOAtest to be started with JDK 1.8 instead of default JDK.
For Windows,
- Launch soatest.exe with -Zjava_home "<full path to the JRE>". For example:
soatest.exe -Zjava_home "C:\Program Files\Java\jre1.8.0_102"
For Linux/Mac:
- Open
soatest.sh
in an editor. - At the top of the file, set the path to the Java executable for the variable JAVA_EXEC. For example, change the line
JAVA_EXEC=""
toJAVA_EXEC="/opt/jdk18/bin/java"
ALPN Installation
HTTP/2 uses a TLS extension called ALPN to establish a secure connection. The ALPN implementation to use strictly depends upon the JDK version; see following page for mappings: https://github.com/jetty-project/jetty-alpn/blob/master/docs/version_mapping.properties.
Download the ALPN jar that matches the JDK 1.8 version that will be used for starting SOAtest. You can download jars at https://search.maven.org/artifact/org.mortbay.jetty.alpn/alpn-boot.
- Do the following to add the ALPN jar to the boot classpath of the JVM that starts SOAtest:
- Edit eclipse.ini in the Parasoft Test installation directory.
- Add the following entry to a new line at the very end of the file:
-Xbootclasspath/p:<path_to_alpn-boot.jar>
For example:-Xbootclasspath/p:c:/jars/alpn/alpn-boot-8.1.1.v20141016.jar
Parasoft Extension Installation
UI Installation
- Go to Parasoft > Preferences and click System Properties.
- Click Add JARs and select the com.parasoft.soavirt.transport.http2-1.0.0.jar file.
- Click Apply.
- Restart SOAtest/Virtualize.
Once this jar file is added to the SOAtest/Virtualize classpath, all of the required dependencies will be loaded.
Command Line Installation
Add the http2transport.jar file to the system.properties.classpath
property in your settings properties file. For example:
system.properties.classpath=<PATH_TO_JAR>/com.parasoft.soavirt.transport.http2-1.0.0.jar
Once the classpath is modified, all of the required dependencies will be loaded.
Usage
The HTTP/2 Transport is primarily used in Messaging Client tools (for example, the SOAP Client, EDI Client, and Messaging Client). The transport is configured in the Messaging Client's Transport tab. To use the HTTP/2 Transport in a Messaging Client, select HTTP/2 in the Transport menu, then configure the available options.
The following configuration options are available.
Option | Description |
---|---|
URL | Specify the URL you want to invoke. The default port is 443 . |
HTTP Method | The HTTP method to invoke. All valid HTTP methods are supported. The default is GET . |
Ping Interval | Frequency of ping interval (in milliseconds). Pings are used to verify connectivity and tell the server to keep the TCP connection open. The default is 1000 . |
Connection Timeout | Specify how long (in milliseconds) to wait for a reply before timing out. |
Log Level | Specify how much information you want logged to the console and the Event Monitoring view. The default is 2 (warn) . |
HTTP Headers
You can use the available controls to configure as many headers as you wish (up to 10). Specify headers using the name: value
format:
Connection Management
Option | Description |
---|---|
Keep connection alive/ Close connection after test execution | The HTTP/2 transport allows multiple active connections to be used. HTTPS is supported, but HTTP (h2c) is not. Settings A (keep alive) To fix this, you would mark the last test for each unique set of settings as "close connection". Settings A (keep alive) |
Third-Party Content
This extension includes items that have been sourced from third parties as outlined below.
- Jetty (Apache license)
Additional license details are available in this plugin's licenses folder.