Accessing the MQRFH2 header using a JavaCompute node

When you construct MQRFH2 headers in a JavaCompute node, there are two types of field:

The following code adds an MQRFH2 header to an outgoing message that is to be used to make a subscription request: Start of change
public void addRfh2(MbMessage msg) throws MbException
{
	MbElement root = msg.getRootElement();
	MbElement body = root.getLastChild();

	// insert new header before the message body
	MbElement rfh2 = body.createElementBefore("MQHRF2");

	rfh2.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "Version", new Integer(2));
	rfh2.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "Format", "MQSTR");
	rfh2.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "NameValueCCSID", new Integer(1208));

	MbElement psc = rfh2.createElementAsFirstChild(MbElement.TYPE_NAME, "psc", null);
	psc.createElementAsFirstChild(MbElement.TYPE_NAME, "Command", "RegSub");
	psc.createElementAsFirstChild(MbElement.TYPE_NAME, "Topic", "department");
	psc.createElementAsFirstChild(MbElement.TYPE_NAME, "QMgrName", "QM1");
	psc.createElementAsFirstChild(MbElement.TYPE_NAME, "QName", "PUBOUT");
	psc.createElementAsFirstChild(MbElement.TYPE_NAME, "RegOpt", "PersAsPub");

	MbXPath xp [equals char] new MbXPath("/MQMD/Format" + "[set-value(´MQHRF2´)]", root);
	root.evaluateXPath(xp);
}
End of change
Related concepts
Message flows overview
Message modeling
Related tasks
Designing a message flow
Defining message flow content
Related reference
MQRFH2 header