RFH Utils

Tags: RFH Utils, WebSphere Message Broker, WebSphere MQ, Inter Change Server Mesaage Display performance Utilities

New release of the IH03: WebSphere Message Broker V6-Message display, test & performance utilities support pack more commonly known as RFHUTIL. Click here to to Download from IBM site.

 RFH utils is a Message Display and Test Utility that is useful for the development and testing of various WebSphere MQ Integration Applications including  InterChangeServer, WAS, WebSphere Message Broker Version 5 & 6 applications etc.

The RFHUtil version 3.5.0 utility program will read data from files and/or queues; write data to files and/or queues and display data in a variety of formats. However, it is not an editor. While the user data portion of the message can be displayed in a variety of formats, it cannot be changed. Another program must be used to create or change the user data. The utility program can add Rules and Formatting headers (RFH) to messages or files it writes and will format these headers when found in messages or files it reads. The headers can include publish and subscribe commands. There is one exception where the data can be changed. Carriage return and line feed characters can be stripped out of a file when the file is read using the remove crlf or unix text options found on the Read menu. If this data is subsequently written back to a file or to a message, the resulting file may be different than the original file.
Unlike the user data, the Rules and Formatting header (RFH) and CICS Information header (CIH) can be changed. A RFH and/or CIH can be removed or added, and the contents of these headers can be changed.

How to Use RFH Utils Tool to connect to a local or remote Queue Manager

1.Copy the following code by changing those desired <variables> on a text file


set RFHUTIL_HOME=<install_path>
set MQSERVER=SYSTEM.ADMIN.SVRCONN/TCP/<hostname>(<portnumber>)


--> Typically the ih03 folder can be copied on Windows to C:\ih03\rfhutilc.exe
--> Hostname can be IP or server dns name.
--> Port would be '1414' for local QM and anything else for remote Queue Manager.

2. Save as a batch file for Windows platform.

2. Double click on the created batch file to open a RFH Utils window to the remote Queue Manager. This way of connection to the Queue manager could save lot of time during debugging,injecting messages and purging multiple messages in the queue.

3. You can view and browse the messages in queues corresponding to the given queue managers on the data tab of the utility and make use of the XML/other formats for reference.

4. These XML files can be re-used in injecting in the INPUT queues for testing purposes while browsing through the ERROR/OUTPUT/ARCHIVE Queues.

5. To more efficiently use the RFH Utility refer to the official Manual

Description of the Utilities

The first utility (findmqm.exe) will list all queue managers found on a particular system.  If the –q parameter is specified, then queue names and types for all queues defined on locally defined queue managers will also be displayed.  

The second utility (checkcp.exe) will display and verify the classpath environment variable.  Additional options are provided to display and verify the path and lib environment variables, and to verify that the entries required for MQSeries Java support are present in the classpath.  For further options for either of these utilities, please execute the utility with an argument of -?.

In addition to the test and display utility, several command line utilities are provided to do performance measurement and testing:

* MQPUT2.exe : The MQPUT2.exe program is a performance driver utility.  It reads message data from one or more files and then uses the data to create a test messaging workload based on the file data and a separate parameters file.   The first one writes all the test messages at once, without attempting to balance the input rate to the throughput of the test workload.  The final version is a client version of the simplified workload driver.  The MQCapture.exe and MQCapone.exe utilities will read messages from queues and store them in files.  The MQCapone.exe utility reads a single message and writes it to a file.  The MQCapture.exe utility will read multiple messages from a queue and will store them in a file, with a delimiter string separating each message.  The author recommends that a local driver program be used if at all possible, but has provided the other two programs for cases where this is not possible.  Source for these utilities is provided in the source sub-directory.  The performance utilities should also be placed in an executable directory and program icons created if desired.

* MQTIMES2.exe
The MQTimes.exe and MQTimes2.exe programs read messages from an output queue and reports the messages processed per second

* MQCapture.exe
* MQCapone.exe
The MQCapture.exe and MQCapone.exe utilities will read messages from queues and store them in files.  The MQCapone.exe utility reads a single message and writes it to a file.  The MQCapture.exe utility will read multiple messages from a queue and will store them in a file, with a delimiter string separating each message

* MQTest.exe : The MQTest utility is similar to the MQPut2 utility and uses the same parameter file format.  However, it writes each message once.  Parameters such as message count are ignored.  Furthermore it does not read all the files into memory but writes each file after it is read and then releases the storage before reading the next file.

* MQReply.exe : The MQReply utility is provided to supply replies to request messages.  It is intended to be used when a request and reply scenario is being tested.  It will stand in for a back end application that would normally create the reply.

These two programs are special versions of the driver program.
* MQPUTS.exe

MQSeries must be installed on the system that this SupportPac is executed on. MQSeries V5.1 with CSD 4 or later or MQSeries V5.2 or V5.3 is required.Although the utilities are designed for IBM WebSphere Business Integration Message Broker V5, in most cases they can be used with IBM MQSeries Integrator V2.1, V2.02, V2.01 and
V2.0. Similarly, the utilities are developed and tested using IBM WebSphere MQSeries V5.3,
but should work with IBM MQSeries V5.2 or with IBM MQSeries V5.1 with CSD 4 applied.

Click here  for further details on the performance utilities , please turn to the section of this document that explains their configuration and use. Executables for the AIX, Linux and Solaris environments are also provided for the batch performance utilities.  These executables, as well as a Makefile to recompile the utilities, are provided in separate subdirectories (AIX, Linux and Solaris).  These executables should be uploaded to the desired AIX or Solaris system in binary mode, and if needed, the Makefile and source programs should be uploaded to the AIX, Linux or Solaris system in ASCII mode.
In addition to the performance utilities, two additional utilities are provided that are based on the performance utilities but are not aimed at performance measurements.
Some miscellaneous utilities are provided with the package.  A program to format and check the CLASSPATH, PATH and LIB environment variables (checkcp.exe) on Windows is provided.  This utility identifies invalid and duplicate entries.  A program is provided to list all available queue managers on a system.  This program is available in a normal server version (findmqm.exe) and a client only version (findmqmc.exe) on Windows.

Connect to a remote queue manager using server connection channel

The most interesting and important feature introduced with RFH v3.5 is SSL capabilities. RFHUTIL now works as you would expect from a native WebSphere MQ client application, reading the MQSSLKEYR environment variable to locate the keystore.

I came across a script like this to connect to a remote queue manager using a server connection channel with a NULL_SHA SSL configuration as in here . Please test this before you can impact any of your systems.

@echo off

set RFHUTIL_HOME=”%cd%”

set HOST=
set PORT=1414

set MQSSLKEYR=C:\ih03\ssl\key



The keystore is named key.kdb and is stored together with stash and the other related files in the c:\ih03\ssl\ folder.

Use these settings in the “Set Connection User Id” dialog (click the Set Conn Id button to open):

IHO3 Set Connection User Id

Be sure to select the correct settings from the Queue Manager Name drop-down list.

This will enable the usage of IH03 in in environments with SSL security requirements, a really good thing!