XI Adapter Framework DynamicConfiguration Module

[] [] [] [] [] [] []

Related:

  1. FAQ XI 3.0/ PI 7.0/ PI 7.1/ PI 7.11/ PI 7.2 RFC AdapterSymptom FAQ XI 3.0 RFC Adapter, PI 7.0 RFC Adapter,...
  2. FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP AdapterSymptom You are experiencing problems with the SAP XI 3.0...
  3. XI Adapter Engine is stuckSymptom Your J2EE Engine is stuck. XI/PI Message flow through...
  4. Axis adapter’s connection timeout value settingSymptom The timeout value used by the standard trasnport handler...

Symptom
Information for the XI AF DynamicConfiguraiton Module
Other terms
XI AF, DynamicConfiguration Module
Reason and Prerequisites
XI Adapter Framework provides a standard module for processing the dynamic configuration header that is used to represent the Adapter Specific Message Attributes (ASMA).
This module can insert or delete some specific attributes, read some XI message properties into some attributes, or write some attributes into some XI message properties.
This note describes how you can configure this module.

Solution
[Module Name]
AF_Modules/DynamicConfigurationBean
[Module Parameters]
The following parameters are used for this module
dc.namespaceLength the accepted maximal length for the
namespace part
dc.nameLength the accepted maximal length for the
name part
dc.valueLength the accepted maximal length for the
value part
key.nn the key value in form action nsuri name,
where action is one of insert, delete, read
and write, nsuri is the namespace of the
attribute, and name is the name of the
attribute. The read and write actions can
read and write XI message attributes listed
below and arbitrary module processor context
parameters.
the key parameter is identified by its suffix.
the identifier nn can be any string, which is
matched by the corresponding value parameter
value.nn. (see examples)
value.nn the value for the associated key parameter.
(see examples)
List of XI message attributes
message.messageId: message ID
message.refToMessageId: reference ID for synchronous response
message.correlationId reference ID for asynchronous response
…message.conversationId reference ID for queued processing
message.qualityOfService: (BestEffort, ExactlyOnce, …)
message.senderParty: sender party
message.senderService: sender service
message.receiverParty: receiver party
message.receiverService: receiver service
message.interfaceNamespace: interface namespace
message.interface: interface local name
The module processor context paramters are stored in a java.util.Hashtable object and passed as the supplemental data “mp.context”. The names of the parameters stored in this table must have prefix “module.”.

[Usage Examples]
Example 1: removing all attributes with name longer than 20 characters
name: dc.nameLength
value: 20
When the original message contains any attribute whose name is longer than 20 characters, those attributes are removed.

Example 2: inserting attribute with namespace http://sap.com/xi/XI/System/ABC, name XYZ, with value 123, and anothe attribute with name UVW with value 456
..name: key.0
..value: insert http://sap.com/xi/XI/System/ABC XYZ
..name: value.0
value: 123
..name: key.1
..value: insert http://sap.com/xi/XI/System/ABC UVW
..name: value.1
value: 456
In this case, the specified attributes are inserted to the dynamic configuration header.

Example 3: deleting attribute with namespace http://sap.com/xi/XI/System/ABC and name XYZ
..name: key.0
..value: delete http://sap.com/xi/XI/System/ABC XYZ
In this case, the specified attribute is delted.

Example 4: reading the messageId, senderService, and senderReceiver properties to the attributes.
..name: key.0
..value: read http://sap.com/xi/XI/System/Messaging messageId
name: value.0
value: message.messageId
..name: key.1
..value: read http://sap.com/xi/XI/System/Messaging senderParty
name: value.1
value: message.senderParty
..name: key.2
..value: read http://sap.com/xi/XI/System/Messaging senderService
name: value.2
value: message.senderService
This configuration will read messageId, senderParty and senderService into the specified attributes.

Example 5: setting the correlationId using the specified value in the attribute
..name: key.0
..value: write http://sap.com/xi/XI/System/Messaging correlationId
name: value.0
value: message.correlationId

This configuration will set correlationId.

Example 6: setting some context parameter using the specified value in the attribute
..name: key.0
..value: write http://sap.com/xi/XI/System/ABC XYZ
name: value.0
value: module.testparam

This configuration will set the module processor context parameter testparam.

Example 7: reading some context parameter into the specified attribute
..name: key.0
..value: read http://sap.com/xi/XI/System/ABC UVW
name: value.0
value: module.testparam

This configuration will read module processor context parameter testparam into the specified attribute.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Leave a Comment