Diagnosing problems when you run a sample

This topic explains some tactics for diagnosing problems when you run your sample and do not receive the correct result. Follow the instructions below.

  1. Use WebSphere MQ Explorer to determine which queue the input message is on:
    1. Start WebSphere MQ Explorer.
    2. In WebSphere MQ Explorer, expand the folders to display the broker queue manager, WBRK_DEFAULT_QUEUE_MANAGER.
    3. Click the queue manager's Queues folder to display its queues.
    4. Check the Current depth column to identify the queue that is holding the input message. If there are several message on one queue, right-click the queue, then click Browse Messages to determine if the message that you are interested in is on the queue.
  2. Use the following table to identify the problem, and a suggested solution to overcome it. If the sample that you are running does not use a database, ignore the database-related problems listed in the table.
  3. If the table did not help you solve the problem, return to the Message Brokers Toolkit and check the Problems view for error messages. Use this information to solve the problem.
  4. If you created the sample yourself, you might need to check that all the objects in the sample have been named and configured correctly.
Problem Reason Suggested solution
The input message stays on the IN queue. The broker, Configuration Manager, queue manager, the listener, or the message flow itself has stopped. Check that all of the components are running and that the queue manager's listener is listening on the queue manager's port. Start any components that are not running.
There is an unidentifiable message already on the IN queue that the message flow cannot process. In WebSphere MQ Explorer, right-click the IN queue, then click All tasks > Clear Messages.
The input message goes to the FAIL queue. The MQInput node cannot identify which parser it should use to parse the message. If you are using the Enqueue facility in the workbench or the RfhUtil tool that is supplied in Support Pac IH03, you must type all the necessary message header information in the fields in the tool.
If you are using the mqsiput.exe tool, you must add the header information to the message file itself.
The input message goes to the SYSTEM.DEAD.LETTER.QUEUE The queue on which the input message was supposed to be put does not exist. Ensure that you have created all the queues required for the sample.
You cannot find the input message on any queue. You have not refreshed the display in WebSphere MQ Explorer, or you have refreshed only some of the queues. To refresh all queues in WebSphere MQ Explorer, right-click the Queues folder, then click Refresh. Note that in WebSphere MQ Explorer Version 5.3, if you right-click a queue then click Refresh only the selected queue is refreshed; in WebSphere MQ Explorer Version 6.0, when you click Refresh, all the queues in the folder are refreshed.
The input message was passed to a terminal that was not connected to another node, and the message was discarded. Ensure that all the nodes are connected to each other as required by the sample.
The input message goes to the FAIL queue or the Event Log contains a message saying that the database was not found, or both. DB2 is not running. In a DB2 Command Window, enter the following command:
db2 start
If DB2 is already running, you receive the following message:
'The database manager is already active'.
The message flow is trying to access a database table that is not in the default schema. The name of the default schema is determined by, and is the same as, the user name used to access the database. If the table is not in the default schema and no other schema is specified in the message flow's ESQL, the message flow looks for the table in the default schema.

In a DB2 Command Window, enter the following commands:
DB2 "CONNECT TO database user username"
DB2 "CREATE VIEW tablename AS SELECT * FROM tableschema.tablename"
where tableschema is the schema that contains the table that the message flow is accessing, username is the broker's user name, tablename is the table that the message flow is accessing.