IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

.NETInput node

Use the .NETInput node to retrieve data from many disparate sources, such as MSMQ, files, or databases, by accessing the data through .NET code.

This topic contains the following sections:

Purpose

The .NETInput node obtains data from a source that is specified by its creator to start a message flow. The output messages that you create in the .NETInput node are formed through interpreting the information that is obtained from the data source, such as .NET or COM applications.

The .NETInput node uses any Common Language Runtime (CLR) compliant language to create the message, such as C#, Visual Basic (VB), F#, and C++/CLI.

The message flow developer has control of the .NET code, which makes the .NETInput node flexible as to where it can retrieve data from. For example, you can write .NET code that reads messages from an MSMQ source, WebSphere® MQ queue, the file system, or from a database. When you are writing code for a .NETInput node, two templates are provided withinMicrosoft Visual Studio.

The .NETInput node is contained in the .NET drawer of the palette, and is represented in the IBM® Integration Toolkit by the following icon: .NETInput icon

The .NETInput node runs only on Windows brokers. An error occurs if you attempt to deploy a message flow that contains a .NETInput node to a broker that is running on a non-Windows system. Ensure that the broker is running on Windows before you deploy your message flow.

When you are writing code for a .NETInput node, two templates are provided within Microsoft Visual Studio. These two templates are for two different interaction styles:

  • A polling-based .NETInput node
  • An event-driven .NETInput node

Using this node in a message flow

You must associate the .NETInput node with a .NET assembly that contains the code that is controlling the interaction of the .NETInput node with the source of data or messages, which are propagated through the message flow.

For more information, see Writing code for a .NETInput node.

You write code to customize the behavior of the .NETInput node by using the template code skeletons that are provided for Microsoft Visual Studio. The .NETInput node must be configured with a .NET assembly that contains the code of the node. The code consists of a class that is derived from one of the provided abstract base classes (NBPollingConnector or NBEventConnector) that are in IBM.Broker.Plugin.dll assembly.

Only one instance of a given .NETInput node is created, regardless of the number of threads that are running against the message flow, either as a result of additional instances, or multiple input nodes. Therefore, all of your user .NET code must be thread-safe and reentrant. For more information about making a node thread-safe and ensuring that the functions implemented and started by user-defined extensions are reentrant, see User-defined extensions execution model and Threading considerations for user-defined extensions.

Code that is written for the .NET Input node does not participate in Integration Bus transactions.

For more information about creating .NET code for a .NETCompute node, you can access the .NET API documentation included with your installation of IBM Integration Bus from the Start Menu location in Windows.

Configuring the .NETInput node

When you put an instance of the .NETInput node into a message flow, you must configure it; see Configuring a message flow node. To configure the node, you can drag an assembly file from a file explorer to the node, or click the Browse button. The properties of the node are displayed in the Properties view.

All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.

Cloning a .NETInput node

You can reproduce parameters and attributes that you customized for a .NETInput node by creating a Cloned node from it. The Cloned node has no special properties of its own, and cannot be created from the palette drawer. You can create it only from an existing, configured .NETInput node. You must have administrator privileges to be able to create a Cloned node.

To create a Cloned node, you must select your .NETInput node, right-click, and then select Create Cloned Node...

Your Cloned node is saved in the .NET drawer of the palette with the name that you gave it, and is represented in the IBM Integration Toolkit by your chosen node icon.

When you create an instance of a Cloned node, it is configured with the properties and values that you specified for the .NETInput node it was cloned from.

If you want to modify properties or values of a Cloned node, you can configure them. See Configuring a message flow node.

You can configure an instance of a Cloned node when dragged into a graphical data map. To configure the node, you can drag an assembly file from a file explorer to the node. The properties of the node are displayed in the Properties view.

All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.

Validating messages

Set the validation properties to define how the messages that are produced by the .NETInput node are validated.

For more information, see Validating messages and Validation properties.

Terminals and properties

The .NETInput node terminals are described in the following table.

Terminal Description
Failure The output terminal to which a message is routed if an error occurs before a message is propagated to the Out terminal. Even if the Validation property is set, messages that are propagated to this terminal are not validated.
Out If no errors occur within the input node, a message received from an external resource is always sent to the Out terminal first.
Catch The output terminal to which the message is routed if an exception is thrown downstream and caught by this node. Exceptions are caught only if this terminal is attached.

The following tables describe the node properties that you can set on a specified tab. The column headed M indicates whether the property is mandatory (marked in the toolkit with an asterisk if you must enter a value when no default is defined). The column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).

Description properties:
Property M C Default Description
Node name No No The node type The name of the node.
Short description No No   A brief description of the node.
Long description No No   Text that describes the purpose of the node in the message flow.
Basic properties:
Property M C Default Description mqsiapplybaroverride command property
Assembly name Yes Yes   The assembly that implements the node. Use the Browse option to select an assembly, alternatively you can drop an assembly .dll file onto the node to automatically complete this property. assemblyName
Class name No Yes   The name of the class that implements the node. A value for this property is required only if two or more nodes are exposed from the same assembly, or to explicitly name a subclass as the implementing node. connectorClassName
Input Message Parsing properties:
Property M C Default Description
Message domain No No BLOB The domain that is used to parse the message. If the field is blank, then the default is BLOB.
Message model No No Cleared The name or location of the message model schema file in which the message is defined. This list is populated with all available message model schema files for the Message domain that you selected.
Message No No Cleared The name or location of the message root within your message model schema file. This list is populated with all available messages that are defined in the Message model that you selected.
Physical format No No Cleared The name of the physical format of the message. If you are using the MRM or IDoc parser, select the physical format of the incoming message from the list. This list includes all the physical formats that you defined for the selected message model. If you set the Message domain property to DataObject, you can set this property to XML or SAP ALE IDoc. Set this property to SAP ALE IDoc when you want to parse a bit stream from an external source and generate a message tree.
Message coded character set ID No No Broker System Default The ID of the coded character set used to interpret bytes of the file that is being read. mqsiapplybaroverride command property is messageCodedCharSetIdProperty.
Message encoding No No Broker System Determined The encoding scheme for numbers and large characters that are used to interpret bytes of the file that is being read. Valid values are Broker System Determined or a numeric encoding value. For more information about encoding, see Data conversion. mqsiapplybaroverride command property is messageEncodingProperty.
Parser Options properties:
Property M C Default Description
Parse timing Yes No On Demand This property controls when an input message is parsed. Valid values are On Demand, Immediate, and Complete.

Parse timing is, by default, set to On Demand, which causes parsing of the message to be delayed. To cause the message to be parsed immediately, see Parsing on demand.

Build tree using XML schema data types Yes No Cleared This property controls whether the XMLNSC parser creates syntax elements in the message tree with data types taken from the XML schema. You can select this property only if you set the Validate property on the Validation tab to Content or Content and Value.
Use XMLNSC compact parser for XMLNS domain Yes No Cleared This property controls whether the XMLNSC compact parser is used for messages in the XMLNS domain. If you set this property, the message data is displayed under XMLNSC in nodes that are connected to the output terminal when the input MQRFH2 header or the Input Message Parsing property Message domain is XMLNS. For more information, see Manipulating messages in the XMLNSC domain.
Retain mixed content Yes No Cleared This property controls whether the XMLNSC parser creates elements in the message tree when it encounters mixed text in an input message. If you select the check box, elements are created for mixed text. If you clear the check box, mixed text is ignored and no elements are created.
Retain comments Yes No Cleared This property controls whether the XMLNSC parser creates elements in the message tree when it encounters comments in an input message. If you select the check box, elements are created for comments. If you clear the check box, comments are ignored and no elements are created.
Retain processing instructions Yes No Cleared This property controls whether the XMLNSC parser creates elements in the message tree when it encounters processing instructions in an input message. If you select the check box, elements are created for processing instructions. If you clear the check box, processing instructions are ignored and no elements are created.
Opaque elements Yes No Blank This property is used to specify a list of elements in the input message that are to be opaquely parsed by the XMLNSC parser. Opaque parsing is performed only if validation is not enabled (that is, if Validate is None); entries that are specified in Opaque Elements are ignored if validation is enabled.

The Validation properties of the .NETInput node are described in the following table. Set these properties if you want the parser to validate the body of messages against the Message model. (If a message is propagated to the Failure terminal of the node, it is not validated.)

For more information, see Validating messages and Validation properties.

Validation properties:
Property M C Default Description mqsiapplybaroverride command property
Validate Yes Yes None This property controls whether validation takes place. Valid values are None, Content, Content and Value, and Inherit. validateMaster
Failure action Yes No Exception This property controls what happens if validation fails. You can set this property only if you set Validate to Content or Content and Value. Valid values are User Trace, Local Error Log, Exception, and Exception List.  

For a full description of the Instances properties, see Configurable message flow properties.

Instances properties:
Property M C Default Description mqsiapplybaroverride command property
Additional instances pool No Yes Use Pool Associated with Message Flow The pool from which additional instances are obtained.
  • If you select Use Pool Associated with Message Flow, additional instances are obtained from the message flow pool.
  • If you select Use Pool Associated with Node, additional instances are allocated from the additional instances of the node that is based on the number that is specified in the Additional instances property.
 
Additional instances No Yes 0 The number of additional instances that the node can start if the Additional instances pool property is set to Use Pool Associated with Node. additionalInstances
Monitoring Panel properties:
Property M C Default Description
Events No No None Events that you defined for the node are displayed on this tab. By default, no monitoring events are defined on any node in a message flow.

The Microsoft Visual Studio properties of the .NETInput node are described in the following table. These properties are sent to the run time as part of deployment to the input connector.

For more information, see Creating messages by using a .NETInput node

Visual Studio properties:
Property M C Default Description mqsiapplybaroverride command property
Visual Studio project name No No   The Microsoft Visual Studio project or solution that contains the code for the node.  
Advanced properties:
Property M C Default Description mqsiapplybaroverride command property
AppDomain name No Yes   The .NET AppDomain that hosts the node. AppDomain
Version No Yes   The Assembly Version. AssemblyVersion
Culture No Yes   The Assembly Culture. AssemblyCulture
Public key token No Yes   The Assembly Public Key Token. AssemblyPublicKeyToken
User properties:
Property M C Default Description mqsiapplybaroverride command property
<User provided name> No No   The node provides a table in which the user can Add, Edit, or Delete rows each providing a Name: Value pair.  

bc16290_.htm | Last updated Friday, 21 July 2017