book
Article ID: KB0083902
calendar_today
Updated On:
Description
You can exchange messages between EMS and eFTL two ways with an EMS channel (configured with EMS messaging infrastructure) and a FTL channel ( configured with FTL messaging infrastructure).
Issue/Introduction
Exchange messages between eFTL and EMS
Resolution
1). Exchange messages between eFTL and EMS using EMS channel:hange messages between eFTL and EMS using the EMS channel.
EMS delivers messages based on topic names. eFTL delivers messages based on the content of named fields. The eFTL server translates messages as they pass through its EMS side:
a). When an EMS channel forwards an EMS message into the eFTL side, it sets the _dest field of the eFTL message to the topic name of the EMS message.
When an eFTL client creates a subscription with a content matcher that matches against the _dest field, the EMS channel creates an EMS subscription to the corresponding topic.
b). When an EMS channel forwards an eFTL message into the EMS side, and the message contains a _dest field, the channel publishes the EMS message to the topic corresponding to value of the _dest field. If the message does not contain a _dest field or its _dest value is not a valid topic name, the channel discards the message and does not publish it into the EMS side. The eFTL publisher receives an error callback.
For details, check eFTL doc.
2). Exchange messages between eFTL and EMS using FTL channel:
The EMS server is acting as a FTL client to communicate with eFTL using the FTL channel.
a). EMS messages can be exported from the EMS server ( FTL publisher ) to the FTL side, then the FTL channel forwards the messages to the eFTL side.
b). The FTL channel can forward the messages from the eFTL side to the FTL side, then the FTL messages can be imported into the EMS server acting as a FTL subscriber.
When the EMS transport defines export_headers as true, the EMS server converts the JMS header fields and their values to FTL fields and values and then adds them to the outgoing message. This allows FTL to use content matchers on fields. When converting the JMS header fields to FTL message fields, header fields are given the prefix _emshdr. The eFTL subscriber can use similar content macher as a FTL subscriber to receive messages.
For example, the JMSDeliveryMode header field is assigned the field name _emshdr:JMSDeliveryMode when inserted into the TIBCO FTL message.