WebSphere Message Broker, Version 8.0.0.7
Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS
See information about the latest product version
See information about the latest product version
Accessing the MQRFH2 header by using a JavaCompute node
You can use a JavaCompute node to add an MQRFH2 header to an outgoing message.
When you construct MQRFH2 headers
in a JavaCompute node,
two types of field exist:
- Fields in the MQRFH2 header structure (for example, Format and NameValueCCSID)
- Fields in the MQRFH2 NameValue buffer (for example mcd and psc)
The following code adds an MQRFH2 header to an outgoing
message that is to be used to make a subscription request:
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 = new MbXPath("/MQMD/Format" + "[set-value(´MQHRF2´)]", root);
root.evaluateXPath(xp);
}
In this example, the MQHRF2 parameter is the parser class name, which is different from the parser element name (MQRFH2). For a list of the parsers, root element names, and class names for different headers, see Available parsers.