This topic explains how the MQGet node processes each message
that it receives:
Propagating the message
- If an MQ Message Descriptor header (MQMD) is present in the input tree,
it is used. If not, the node creates a default MQMD.
- The node also creates a default MQ Get Message Options (MQGMO) structure
based on the values you have set for the node properties. If an MQGMO is present
in the input tree, the node uses its content to modify the default one.
- The node makes the MQGet call to WebSphere MQ.
- The node analyzes the completion code (CC), and propagates the message
to the appropriate terminal:
- OK
- Create the output LocalEnvironment and the output message trees using
standard message-parsing techniques. Propagate to the Out terminal.
- Warning
- Create the output LocalEnvironment and the output message trees using
BLOB as the message body type. If connected, propagate to the Warning terminal.
Otherwise, no propagation occurs and the flow ends.
- Fail (no message)
- Create the output LocalEnvironment and the output message trees by copying
the input trees. If connected, propagate to the No Message terminal. Otherwise,
no propagation occurs. The output message that is propagated to the No Message
terminal is constructed from the input message only, according to the values
of the Generate Mode property,
and the Copy Message or Copy Local Environment properties.
- Fail (other)
- Propagate to the Failure terminal. If the Failure terminal is not connected,
the broker throws an exception and returns control to the closest previous
node that can process it. See Handling errors in message flows for more
information.
The following diagram shows this processing:

Using the MQGMO_BROWSE options is not supported, because the
queue is not opened for browse.
Constructing OutputLocalEnvironment
- If the Generate Mode property
on the MQGet node is set to an option that does not include LocalEnvironment,
the node copies the input LocalEnvironment tree to the output LocalEnvironment
tree.
If this copy is made, any updates that are made in this node to the
output LocalEnvironment tree are not propagated downstream.
- If the Copy Local Environment property
is set to an option other than None,
the node copies the input LocalEnvironment tree to the output LocalEnvironment
tree.
- If the output data location points to the output LocalEnvironment tree,
the node applies changes in that tree by copying from the result tree.
- The LocalEnvironment tree is propagated.
The following diagram shows this processing:

Constructing the Output message
- If the Generate Mode property
on the MQGet node is set to an option that does not include Message,
the node copies the input message tree to the output message tree. Go
to step 5.
- If the Output Data Location property
is set to OutputRoot, the node
created the output message tree entirely from the result tree. Go
to step 5.
- If the Copy Message property
is set to a value other than None,
the node copies the input message tree to the output message tree.
- If the Output Data Location property
points to a part of the output message tree, the node applies changes in that
tree by copying from the result tree at the point defined by Result
Data Location property.
- The message tree is propagated.
The following diagram shows this processing:

See A request-response scenario using an MQGet node for an example of how
this processing is implemented in a message flow.