The error occurs because IBM MQ's classic JMS Client (WMQInitialContextFactory) requires the legacy javax.jms API, but your On-Premises Agent (OPA) environment currently only has Jakarta JMS 3.0+ (jakarta.jms), which moved from the javax namespace to jakarta.
IBM MQ client libraries (specifically version 9.2 and older, or standard v9.3 com.ibm.mq.allclient.jar) expect the javax.jms classes.
Here is how to resolve the missing class error.
Step-by-Step Fix
1.Download the Legacy javax.jms Library:Required JAR.Download the JMS 2.0 API JAR file containing the javax.jms namespace.
Download javax.jms-api-2.0.1.jar directly from Maven Central (or copy it from your IBM MQ Client installation directory at MQ_HOME/java/lib).
Verification: Confirm the downloaded file is named javax.jms-api-2.0.1.jar (or javax.jms-api-2.0.jar).
2.Add javax.jms and IBM MQ Client to OPA Library Directory:OPA Configuration.Copy the javax.jms-api-2.0.1.jar file along with com.ibm.mq.allclient.jar into the OPA user extensions directory:
Linux/Unix: /opt/workato-agent/ext (or <OPA_INSTALL_DIR>/ext)
Windows: C:\Program Files\Workato Agent\ext (or <OPA_INSTALL_DIR>\ext)
Note: Do not delete jakarta.jms-api-3.1.0.jar if other connectors rely on it, as Java can load both packages side-by-side because javax.jms and jakarta.jms use different package namespaces.
Verification: Run ls -l (Linux) or check File Explorer (Windows) in the ext folder to verify both com.ibm.mq.allclient.jar and javax.jms-api-2.0.1.jar are present in the same folder.
3.Restart the Workato On-Premises Agent Service:Apply Changes.Restart the agent service so Java loads the new JAR into the classpath:
Linux: sudo systemctl restart workato-agent (or run ./agent.sh restart)
Windows: Open Services (services.msc), locate Workato On-Premises Agent, and click Restart.
Verification: Open agent.log in the OPA logs/ directory and verify no classpath conflicts or missing class warnings occur during startup.
4.Retest the Connection in Workato:Workato Console.Navigate back to your Workato JMS connection configuration and click Test Connection.
Verification: The connection test should pass without returning NoClassDefFoundError: javax/jms/ConnectionFactory.