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

Creating elements using a .NETCompute node

The NBElement class represents a single parsed element in the message tree. The class provides four different creation methods that you can use to create a new element in the message tree.

  • CreateFirstChild
  • CreateLastChild
  • CreateBefore
  • CreateAfter
The method names indicate where the element is to be created in the hierarchy in relation to the NBElement on which they are called. The following C# Evaluate method contains example code for a ..NETCompute node:
        public override void Evaluate(NBMessageAssembly inputAssembly)
        {
            NBOutputTerminal outTerminal = OutputTerminal("Out");
            NBMessage inputMessage = inputAssembly.Message;
            
            // Create a new empty message, ensuring it is disposed after use
            using (NBMessage outputMessage = new NBMessage())
            {
                NBMessageAssembly outAssembly = new NBMessageAssembly(inputAssembly, outputMessage);
                NBElement inputRoot = inputMessage.RootElement;
                NBElement outputRoot = outputMessage.RootElement;

                // Optionally copy message headers, remove if not needed
                CopyMessageHeaders(inputRoot, outputRoot);

                #region UserCode
                // Add user code in this region to create a new output message            
                NBElement msg = outputRoot.CreateLastChildUsingNewParser(NBParsers.XMLNSC.ParserName).CreateFirstChild(null,"Message");
                NBElement el4 = msg.CreateLastChild("Element4");
                NBElement el1 = msg.CreateFirstChild("Element1");
                el1.SetValue("Data Value for Element1");
                el4.SetValue("Data Value for Element4");
                el1.CreateAfter("Element2").SetValue("Data Value for Element2");
                el4.CreateBefore("Element3").SetValue("Data Value for Element3");                
                #endregion UserCode

                // Change the following if not propagating message to the 'Out' terminal
                outTerminal.Propagate(outAssembly);
            }
        }
When the node is wired to a suitable output node (such as an MQOutput node), the code produces an XML message that looks like this:
<Message>
     <Element1>Data Value for Elememt1</Element1>
     <Element2>Data Value for Elememt2</Element2>
     <Element3>Data Value for Elememt3</Element3>
     <Element4>Data Value for Elememt4</Element4>
</Message>
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2016Copyright IBM Corporation 1999, 2016.

        
        Last updated:
        
        Last updated: 2016-05-23 14:47:58


Task topicTask topic | Version 8.0.0.7 | bc34212_