Here is a unique use case where IBM Rational Performance Tester (RPT) is used to performance test web service calls communicated via MQ (Message Queue) Tunnel connection. In a general scenario, the MQ client runtime makes an HTTP connection to an MQ tunnel servlet at the specified URL (The broker must be configured to access the HTTP tunnel servlet). It can also be a case where the tunneling is established over SSH connection as well.
Overall, it is also recommended that you perform prior checks like:
- Check communications
Can you telnet to the MQ host and listener port?
- Check access to Queue Manager
a. Use the MQ or JMS API (make sure you capture and display the linked exception when present in the JMSException.
b. Check that the firewall is letting the MQ protocol through
c. Check that communications are open bi-directional
d. Check doing a ping channel
Let's comeback to this specific use case where the topology for the use case was configured in the below fashion:
- MQ was on a remote server and you are not allowed to connect to it directly
- You have to initiate Putty and load the user credentials and connect through Tunnel
- The authentication (RSA) is done through Putty and then the MQ is configured in such a way that the connection establishes once the authentication is done
- The password is valid for that particular session only based on the key file which was generated.
At the initial stage, you could feel that the only blocker that you see with this kind of setup is using a username/password to connect to the MQ manager (this is the password requested by the MQ explorer ). However, from an RPT perspective this is not implemented at the moment into the product ( No basic authentication available ). So, this leaves you with an option of removing this blocker for testing purpose.
However, a MQ connection authentication is required to connect to the queue manager, and this should be removed at the queue manager side (the RPT product does not support this).
Having said that, if you test a local MQ sample with a Putty connection and RPT configured (Remember the connection is established between RPT machine and MQ) RPT should be able to capture the traffic.