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.
MbMessage outMessage = new MbMessage();
The
headers can be copied from the incoming message by 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 by using the createElement methods
and the extended syntax of the integration node XPath implementation. String myMsg = "The Message Data";
MbElement outRoot = outMessage.getRootElement();
// Create the Integration Bus Blob Parser element
MbElement outParser = outRoot.createElementAsLastChild(MbBLOB.PARSER_NAME);
// Create the BLOB element in the Blob parser domain with the required text
MbElement outBody = outParser.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "BLOB", myMsg.getBytes());
MbElement outMsgRootEl = outMessage.getRootElement();
String parserName = MbBLOB.PARSER_NAME;
String messageType = "";
String messageSet = "";
String messageFormat = "";
int encoding = 0;
int ccsid = 0;
int options = 0;
outMsgRootEl.createElementAsLastChildFromBitstream(responseBodyXmlData,
parserName, messageType, messageSet, messageFormat, encoding, ccsid,
options);
To add a JSON message in a JavaCompute node, see Creating a JSON message.