WebSphere Message Brokers
File: ac30350_
Writer: Catherine Tucker

Task topic

This build: July 31, 2007 21:20:10

Creating a new message using a JavaCompute node

Many message transformation scenarios require a new outgoing message to be built. The Create Message Class template in the JavaCompute node wizard generates template code for this.

In the template code, the default constructor of MbMessage is called to create a blank message, as shown in the following Java code:
MbMessage outMessage = new MbMessage();  
The headers can be copied from the incoming message using the supplied utility method, copyMessageHeaders(), as shown in this Java code:
copyMessageHeaders(inMessage, outMessage);
The new message body can now be created. First, add the top level parser element. For XML, this is:
MbElement outRoot = outMessage.getRootElement();
MbElement outBody = outRoot.createElementAsLastChild(MbXMLNSC.PARSER_NAME);
The remainder of the message can then be built up using the createElement methods and the extended syntax of the broker XPath implementation.
When you wish to create a BLOB message, that is handled as a single byte string using the BLOB parser domain. The message data is added as a byte array to the single element named "BLOB" under the parser level element as described below:
String myMsg = "The Message Data";
MbElement outRoot = outMessage.getRootElement();
// Create the Broker Blob Parser element
MbElement outParser = outRoot.createElementAsLastChild(MbBLOB.PARSER_NAME);
// Create the BLOB element in the Blob parser domain with the required text
MbElement outBodyEl2 = outParser.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "BLOB", myMsg.getBytes());
Related tasks
Accessing elements in a message tree from a JavaCompute node
Related reference
JavaCompute node
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:20:10

ac30350_ This topic's URL is: