JMS Manual Configuration
You can configure a direct connection to the JMS provider from ReadyAPI without using any additional intermediaries.
Requirements
To connect to a JMS provider, ReadyAPI needs to load the appropriate client libraries for your JMS broker. There are two ways to get the libraries:
Create a JMS connector plugin. The plugin contains all the JMS client libraries and provides with the default values for the connection settings. See Creating the Connector Plugin.
Use JMS client libraries that are provided by your JMS broker. To do this:
Copy the
.jarfiles that contain the client libraries for your JMS provider to the<ReadyAPI>\bin\extfolder.Here is where you can find the library files for some popular providers:
Table 26. Library files of the most popular providers.Provider
Action
Files
ActiveMQ
Copy the file from the
ActiveMQ installationfolder.activemq-all-5.X.X.jarWebSphere MQ 8 and 9
Copy the files from the
<WebSphere MQ Installation>\java\libfolder.com.ibm.mq.allclient.jarfscontext.jarjms.jarproviderutil.jarWebSphere MQ 7
Copy the files from the
<WebSphere MQ Installation>\java\libfolder.CL3Export.jarCL3Nonexport.jarcom.ibm.mq.headers.jarcom.ibm.mq.jarcom.ibm.mq.jmqi.jarcom.ibm.mq.pcf.jarcom.ibm.mqjms.jardhbcore.jarfscontext.jarjms.jarjndi.jarjta.jarldap.jarproviderutil.jarrmm.jarWebLogic 12 or later
Copy the files from the
<WebLogic>\wlserver\server\libdirectory.Add
--add-opens java.base/java.io=ALL-UNNAMEDin the VM options file of ReadyAPI.
weblogic.jarwlthint3client.jakarta.jarNote
Remove any other WebLogic client JARs (for example,
wlthint3client.jar,wlfullclient.jar) from your classpath to avoid conflicts.Restart ReadyAPI to load the libraries.
Important
If you use this approach, ReadyAPI cannot identify default values, so you will need to enter them manually.
Adding JMS Server
To use a direct connection to a JMS provider, you must specify a JMS server. You can do this in the JMS dialog or when selecting a JMS endpoint.
When you create a JMS server, ReadyAPI shows the JMS configuration dialog, where you specify the settings of the server. ReadyAPI will use the connector libraries to establish a JMS connection to the specified server.
![]() |
Option | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
JMS Provider | The list of preconfigured JMS providers. Install the JMS Connector plugin for your JMS provider for it to appear on the list. | ||||||||
Initial Context Class | The class that will be used to create an If you use the JMS Connector plugin, this value is provided by the plugin and cannot be changed. Otherwise, you need to set up it manually. Here are context classes for some popular JMS providers:
For other JMS providers, you can find the initial context class name in the provider documentation. | ||||||||
Provider URL | The URL of the JMS server you use. The JMS Connector plugin sets a default value for the selected provider. Here are context classes for some popular JMS providers:
For other JMS providers, you can find the initial context class name in the provider documentation. Property expansion is supported. Click the ellipsis icon next to the field to select a property expansion and resolve environment-specific values at runtime. | ||||||||
Connection Factory JNDI Name | The name of the The JMS Connector plugin sets a default value for the selected provider. Here are context classes for some popular JMS providers:
For other JMS providers, you can find the initial context class name in the provider documentation. Property expansion is supported. Use the ellipsis icon to pick a property expansion for dynamic configuration. | ||||||||
User Name | The name of the user that is used to authenticate with the JMS broker. | ||||||||
Password | The password of the user who authenticates with the JMS broker. If you want to dynamically pass the username and password to JMS settings, store them in project properties and use property expansions to pass them: click the ellipsis button next to the User Name or Password field and select the respective project property. The property can be encrypted.
ImportantFor some JMS services (including but not limited to WebLogic, webMethods, and TibcoJMS), you need to also create additional JNDI properties with your username and password: java.naming.security.principal = <username> java.naming.security.credentials = <password> | ||||||||
Additional JNDI Properties | Custom JNDI properties you may need, depending on the JMS provider you use. For example, the ActiveMQ JMS broker does not include a fully functional JNDI server, so you need to use the properties to provide JNDI context for your requests. You do this by adding custom properties, such as ![]() Values in Additional JNDI Properties support property expansion. Click the ellipsis icon in the value cell to choose a property and resolve it at runtime. Property expansion is applied to the values of additional properties. Property names (keys) are not expanded. |
Property Expansion in JNDI Fields
The following JNDI configuration fields support property expansion and include a selection menu (ellipsis) to help you insert them:
Initial Context Class
Provider URL
Connection Factory JNDI Name
User Name
Password
Additional JNDI Properties (values only)
Use property expansions to pass dynamic or environment-specific values. For example, switching hosts, credentials, or ports through project or environment properties to keep your JMS configuration portable across environments.
JMS Dialog
The JMS dialog contains a list of JMS servers. You select these servers when specifying an endpoint for the JMS Requests test step or when setting up a JMS virtual service.
![]() |
To open the dialog, click JMS on the main toolbar:
![]() |
To add, remove, or configure JMS servers, use the items of the dialog’s toolbar:
![]() |






