When importing a SmartSockets message to an EMS message, tibemsd does not set any JMS header fields, except for the special cases noted above.
When exporting an EMS message to a SmartSockets message, tibemsd groups all the JMS header fields (except for the special cases noted above) into a single submessage within the SmartSockets message. The field
JMSHeaders contains that submessage. Fields of the submessage map the names of JMS header fields to their values.
tibemsd ignores any JMS header fields that are null or absent—it omits them from the exported message.
You can instruct tibemsd to suppress the entire header submessage in all exported messages by setting the transport property
export_headers = false.
In addition, tibemsd maps SmartSockets message properties to EMS properties; for details see
SmartSockets Message Properties.
When exporting an EMS message to a SmartSockets message, tibemsd groups all the JMS property fields into a single submessage within the SmartSockets message. The field
JMSProperties contains that submessage. Fields of the submessage map the names of JMS property fields to their values.
tibemsd ignores any JMS property fields that are not set, or are set to null—it omits them from the exported message.
You can instruct tibemsd to suppress the entire properties submessage in the exported message by setting the transport property
export_properties = false.
In release 4.1.0 (and later), tibemsd maps SmartSockets message headers to EMS message properties on import.
Table 75 summarizes the mapping. The first column indicates the EMS property, and the second column indicates the SmartSockets method that gets the corresponding header.
The transport parameter import_ss_headers governs the import behavior. The third column of
Table 75 lists the values of that parameter for which
tibemsd imports the message property in that row. See
import_ss_headers on page 465.
When exporting an EMS message to SmartSockets, tibemsd maps these properties in reverse. In most cases, the mapping is
symmetric—export maps them back to the same SmartSockets header. However, three exceptions (
JMS_TIBCO_SS_SENDER,
JMS_TIBCO_SS_MESSAGE_ID and
JMS_TIBCO_SS_SEQ_NUM) are
asymmetric—export maps them to subfields of the field
JMSProperties within the
SmartSockets message. The fourth column of
Table 75 indicates this asymmetry.
tibemsd can export messages with any JMS message body type to TIBCO SmartSockets. Conversely,
tibemsd can import messages with any message type from TIBCO SmartSockets.
When importing a SmartSockets message, tibemsd translates it to one of two EMS message body types:
When exporting an EMS message, tibemsd translates it to one of six SmartSockets message types (see
Table 76) with the following structure:
Table 77 presents the mapping between EMS datatypes and SmartSockets datatypes. The mapping is bidirectional, except for a few SmartSockets types that have no corresponding EMS type (for these types the mapping is marked as unidirectional in the middle column of
Table 77).
tibemsd automatically translates destination names when importing or exporting a message; see
Slash & Dot Separators.
When importing, it translates names in the SmartSockets subject and
reply_to fields. When exporting, it translates names in the EMS
JMSDestination and
JMSReplyTo fields.