1. Product Description
To provide the feature of Dynamic/Outbound Payload Based Queue assignment in PI. Based on the payload content we need to decide the queue name dynamically, which will give independence/parallelism for different payload instances processing.
2. Product Configuration
2.1 Technical Goods Configuration
This module provides the flexibility to the PI developer to traverse an XML tree vertically and horizontally to point to any element/node and attribute in the xml tree. To achieve this the PI developer can use the node array functionality given in this adapter module. The node array specification(in XPath parameter) in an XML tree enables the PI developer to route to any element in the xml tree. The following screen will give you an idea of how to use the node array functionality in the adapter module.
2.2 Utilization Procedure
You have to add the Module JNDI name “ContextSpecificQueueGenericBean” in the module tab page of the inbound adapter. And then proceed to maintain the context parameters as below.
There are 2 context parameters included in this Adapter module (QueueIdPrefix and Xpath – (case-sensitive context parameters’ names)) to achieve the dynamic queue functionality.
While configuring these two parameters for a particular interface, we need to specify the context parameter name in the following format to ensure all the relevant interfaces’ parameters can be accommodated within the common inbound comm channel config only.
Parameter nomenclature for a particular interface from a group of relevant interfaces:
<Interface dependent inbound xml root node name(unqualified xml root tag name)>.QueueIdPrefix and/or,
<Interface dependent inbound xml root node name(unqualified xml root tag name)>.XPath
Queue id prefix can act as the interface identifier which will be appended by XPath expression evaluated payload value to produce the whole queue name.
Prefix can also be used to get the payload content independent/static queue name. To achieve this keep the XPath expression field blank and provide the whole static queue name in the queue id prefix field itself.
It’s always imperative to use this module in sender comm channel and this module will only work with Qos: EOIO.
3. Product Execution
3.1 Product Functionalities
Queue id prefix can act as the interface identifier which will be appended by XPath expression evaluated payload value to produce the whole queue name.
Prefix can also be used to get the payload content independent/static queue name. To achieve this keep the XPath expression field blank and provide the whole static queue name in the queue id prefix field itself.
It’s always imperative to use this module in sender comm channel and this module will only work with Qos: EOIO.
3.2 Error Handling
Module Output Variants | Description | |||
---|---|---|---|---|
Exception | NameNotFoundException | You need to check the deployment of the module in the current PI J2ee stack. | ||
Exception | XPATH offset can’t be evaluated | If the XPATH mentioned in the XPATH parameter doesn't present in the parsed input XML tree. | ||
Exception | The Attribute can’t be evaluated | If the attribute referred by the XPATH can’t be evaluated | ||
Exception | The XPATH of the inbound payload doesn’t contain a text element inside | If the specified XPATH url doesn’t contain any text element to be evaluated. | ||
Information | Outbound Processing Queue | Gives you the evaluated and assigned outbound processing queue for that particular message outbound branch/split. | ||
Information | Module ContextSpecificQueueGenericBean has been executed successfully |
| Denotes that the module execution successfully completed. | |