Message attributes

In the integration engine, data is passed from activity to activity in the form of messages. These messages are parsed to build Business Document instances that are used as DML Blocks inputs. DML Blocks, in turn, generate Business Document instances that are incorporated in messages which are sent outside the sequential activity.

The integration engine messages are similar to ordinary mail: they include both the actual data (the letter text) and information to help message delivery (the envelope). In the integration engine terminology, the envelope information is called message attributes.

Message attributes are segregated in two categories: system attributes and user-defined attributes.

System attributes are usually bound to receive and send activities. For example, an FTP Receive Activity automatically fills the following attributes:

Attribute name Value class Description
Use_Host

I

Use the contents of Host attribute

Host

S

Remote host IP or DNS address

Use_Port

I

Use the contents of Port attribute

Port

S

Remote FTP port

Use_User

I

Use the contents of User attribute

User

S

Remote username

Use_Password

I

Use the contents of Password attribute

Password

S

Password for remote username

Use_Account

I

Use the contents of Account attribute

Account

S

 

Use_Script

I

Use the contents of Script attribute

Script

S

FTP Script to execute

Use_Timeout

I

Use the contents of Timeout attribute

Timeout

I

Connection timeout value

Use_RemoteFileName

I

Use the contents of RemoteFileName attribute

RemoteFileName

S

Filename on remote host

User-defined attributes are defined following your needs and are the favored way to transmit extra data from one activity to another. To define a new attribute, you must create an .sh4 file in the $(CORE_LOCAL)/config/attribute directory on your integration engine server.

Whatever the name of this file, the integration engine collects all the definitions in all the existing .sh4 files of this subdirectory to create the corresponding message attributes. All of these are made available globally, that is for any message carried from any activity to any other activity.

The following is an example of such a file:

DECLARE PUBLIC RECORD foo
{
    DECLARE PUBLIC FIELD $bar STRING;
}

This example defines a message attribute named foo with a field named bar. This field holds a string.

Related Links