There are two main types of EagleML messages and there is a high level of relationship between their message headers:
1. Control Messages (also known as CMs or RunTaskRequest (RTRs)):
- Message level header is very importance for control messages.
- Transaction level header is OMITTED in control messages.
- For more information, see the Format the Control Message Header page.
2. Data Messages:
- Data messages should contain a Transaction level header.
- Some of its nodes may be involved in processing logic (this varies for different objects).
The headers for control messages and data messages have common elements that encapsulated in most base type MessageHeader. However, they also have specific elements based on the purpose of the message to reflect integration patterns such as Message Id, Correlation Id, and Message Address.
Note
Transaction Level Header for Data Messages
This table describe the transaction level header for a data message.
Node | Description | Optional/Required |
---|---|---|
<identifier> | ||
<versionedTransactionId> | ||
<transactionId> | Transaction identifier | optional |
<version> | Transaction identifier version | optional |
</versionedTransactionId> | ||
</identifier> | ||
<transactionDate> | Transaction date | optional |
<batchKey> | Contains information on the so-called batch key used to group data (EntityID^EffectiveDate^sourcename) | usually optional but required when you load Warehouse objects in batch mode. |
<action> | Defines whether to add, delete or update data in database (ADD, DELETE, UPDATE) | optional |
<correlationId> | Unique message identifier processed and displayed by Message Center | optional |
<businessTaskId> | Business task identifier processed and displayed by Message Center | optional |
<sequenceNumber> | Defines file number in the sequence | usually optional but required when you are using Sequencer |
<isLastInSequence> | Makes the Sequencer turn off after processing this file, if its value is TRUE. | usually optional but required when you are using Sequencer |
<totalCount> | Counter | usually optional but required when you are using Sequencer |
<objectType> | Router sends the message to a specific rule according to this node. | required |
<objectId> | Object Identifier | optional |
<objectDescription> | Object description | optional |
<updateTimestamp> | optional |
Examples of Transaction Level Headers
Reference Data Object Transaction Level Header
<EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" eaglemlVersion="2-0" eaglemlType="ReferenceTransactionMessage" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xsi:type="ReferenceTransactionMessage"> <referenceTransaction> <header> <objectType>Calendar</objectType> </header> <calendar> ...
Warehouse Data Object Transaction Level Header
<EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" eaglemlVersion="2-0" eaglemlType="WarehouseTransactionMessage" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" xsi:type="WarehouseTransactionMessage"> <warehouseTransaction> <header> <batchKey>entity^20140126^EAGLE PACE</batchKey> <objectType>WarehouseOpenLot</objectType> </header> <warehouseOpenLot> ...