You can use the
Test Client to
send test messages to message flows that use any of the following
input nodes:
- WebSphere® MQ
- JMS
- HTTP
- SOAP
- SCA
You can test message flows in the context of an application or library, or you can test
flows in isolation.
Note: The Test Client does not work
with *.subflow files that contain standard input nodes
(built-in input nodes such as MQInput or
user-defined input nodes). If you use standard input nodes in
*.subflow files, you get unpredictable results if the main
flow contains two instances of the same subflow.
Configuring the input message
You can
use the
Test Client to change
the content of test messages that are sent to a message flow, to help
you determine if the message flow is working as expected.
- WebSphere MQ queues
- If your message flow uses WebSphere MQ queues,
the Test Client clears the queues
before your test messages are sent to the message flow.
- XML messages
- If the input node in the message flow that you select expects
an XML message from an associated message set, the message structure
is provided, and it can be edited to produce the appropriate test
message. Alternatively, you can create a new test message, or import
an existing message from your file system.
- WebSphere MQ and JMS messages
- If the message format is WebSphere MQ or
JMS, you can also configure an appropriate header for the test message.
Monitoring a flow with the Test Client
The Test Client monitors output nodes
in the message flow so that you can see which nodes output messages
are received on. When an error message is produced as the message
passes along the flow, or when a message is received on an output
node, a test event is recorded in the Test Client.
You can view
the content of the output message, and view error messages. The details
of the test configuration and the test events can be saved as a .mbtest file.
You can use this file to repeat the test or to review the results
later.
Deploying message flows when you use the Test Client
If you change
your message flow, you can use the same test configuration to test
the changes. The default behavior of the Test Client is to deploy the message
flow that you want to test automatically to an integration server, whenever
a change is made to the message flow. You can therefore change a message
flow, and quickly test the result using the Test Client, without the need to
manually deploy your message flows.
The first time that you
send a test message to an input node, you configure the integration
server to deploy the message flow by using the Deployment
location wizard. You can configure the deployment options
to override the default behavior of the Test Client to deploy the message
flow manually, or to deploy the message flow every time that you pass
a test message to the message flow.
Stopping the Test Client
The default
behavior of the
Test Client is
to stop the test when the first output message is received. You can
configure the
Test Client to
wait for multiple output messages to be received. In this case, you
stop the test manually. Stopping the test disconnects the monitors
that are running, but does not stop the message flow.
- Synchronous tests
- A synchronous test, such as when the message flow is invoked from
an HTTPInput node, is stopped
automatically when a reply message is received.
- Asynchronous tests
- You can stop an asynchronous test, such as when the message flow
is invoked from an MQInput node,
manually depending on the monitor setting in the configuration panel.
All test events are stopped when the
Test Client is closed, and all test
monitors removed.
Using The flow debugger with the Test Client
You can run
the Test Client using the trace
and debug mode to view more information about the path that the message
takes through the message flow. A test event is produced when the
message passes from one node to the next node in the message flow.
The structure of the message is recorded as it leaves each node in
the message flow. The flow debugger is launched in the trace and debug
mode so that the test message stops at breakpoints that are configured
in the message flow.