See information about the latest product version
Nodes for manipulating, enhancing, and transforming messages
Optionally, include nodes to change messages.
- Compute node
- Use the Compute node
to:
- Manipulate message content
- Transform the message in some way
- Interact with a database to modify the content of the message or the database and pass on one or more new messages
Use the ESQL editor to create an ESQL module, specific to this node, that contains the statements that define the actions to perform against the message or database. Do not use the ESQL code that you develop for use in a Compute node in any other type of node.
You can control the way in which the database is accessed by this node by specifying user and password information for the data source that you specify in the node property. Use the mqsisetdbparms command to initialize and maintain these values.
If possible, perform your message manipulation requirements in a single Compute node. Fewer, more complex Compute nodes perform better than a larger number of simpler nodes because the broker parses the message on entry to each Compute node.
- .NETCompute node
- Use the .NETCompute node
to:
- Build messages.
- Interact with Microsoft .NET Framework (.NET) or Component Object Model (COM) applications.
- Transform messages from one format to another.
- Copy messages between parsers.
- Use a .NET programming language to examine an incoming message and, depending on the message content, propagate it unchanged to one of the .NETCompute node output terminals. The node behaves in a similar way to a Filter node, but uses .NET languages instead of ESQL to determine which output terminal to use.
- Use .NET to change part of an incoming message and propagate the changed message to one of the output terminals.
- Use .NET to create and build an output message that is independent of the input message.
- JavaCompute node
- Use the JavaCompute node
to:
- PHPCompute node
- Use the PHPCompute node to route and transform an incoming message, using the PHP scripting language. The node functions in a similar way to the JavaCompute node, but uses PHP instead of Java for message transformation and routing.
- Mapping node
- Use the Mapping node
to create a message from the input message by mapping the content
of elements of the output message from elements of the input message,
or from database content. You can also extract parts of the message,
and optionally change their content, to create an output message that
is a partial copy of the message that is received by the node. The Mapping node handles only predefined
messages.
You can control the way in which the database is accessed by this node by specifying user and password information for the data source that you specify in the node property. Use the mqsisetdbparms command to initialize and maintain these values.
Use the Mapping editor to develop mappings to perform simple manipulations on predefined messages. Do not use the mappings that you develop for use in a Mapping node in any other type of node.
- XSLTransform node
- Use the XSLTransform node (formerly known as the XMLTransformation node) to transform an input XML message into another format using XSLT style sheets and to set the message domain, message set, message type, and message format for the generated message. It is imperative that the data can be parsed into an XML message. The style sheet, using the rules that are defined in it, can perform the following actions:
- Sort the data
- Select data elements to include or exclude based on some criteria
- Transform the data into another format
The Xalan-Java transformation engine (Apache Xalan-java XSLT processor) is used as the underlying transformation engine. For more information about XML Transformations, the W3C specification of the syntax, and semantics of the XSL Transformations language for transforming XML documents into other XML documents, see W3C XSL Transformations.
You can deploy style sheets and XML files to broker execution groups, to help with style sheet and XML file maintenance.
- JMSMQTransform node
- Use the JMSMQTransform node
to transform a message with a JMS message tree into a message that
has a tree structure that is compatible with the format of messages
that are produced by the WebSphere® MQ JMS
provider.
The JMSMQTransform node can be used to send messages to existing message flows and to interoperate with WebSphere MQ JMS and WebSphere MQ Publish/Subscribe.
- MQJMSTransform node
- Use the MQJMSTransform node
to receive messages that have a WebSphere MQ JMS
provider message tree format, and transform them into a format that
is compatible with messages that are to be sent to JMS destinations.
You can use the MQJMSTransform node to send messages to existing message flows and to interoperate with WebSphere MQ JMS and WebSphere MQ Publish/Subscribe.
- SOAPEnvelope and SOAPExtract nodes
- Use the SOAPEnvelope and SOAPExtract nodes to add or remove SOAP envelopes from the SOAP message body. You can use the SOAPExtract node both to extract the envelope, and to route the message based on the message content to a Label node.
- Header nodes
- Use the HTTPHeader, JMSHeader, or MQHeader nodes to manipulate
HTTP, JMS, and WebSphere MQ transport
headers and their properties without writing compute nodes. You cannot
use these nodes to change the message body.
- Use the HTTPHeader node to add, modify, or delete HTTP headers such as HTTPInput, HTTPResponse, HTTPRequest and HTTPReply.
- Use the JMSHeader node to modify contents of the JMS Header_Values and Application properties so that you can control the node's output without programming.
- Use the MQHeader node to add, modify, or delete MQ Message Descriptor (MQMD) and MQ Dead Letter Header (MQDLH) headers.
- User-defined processing node
- Use a user-defined node processing node to handle specific requirements
that are not met by the built-in nodes.
For example, if your node accesses a database, include a user-defined node to interact with the database. You can control the way in which the database is accessed by this node by specifying user and password information for the data source that you specify in the node property. Use the mqsisetdbparms command to initialize and maintain these values.