Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 15 Working With TIBCO Rendezvous : Message Translation

Message Translation
JMS Header Fields
EMS supports the 11 predefined JMS header fields; see JMS Message Header Fields.
Special Cases
These header fields are special cases:
JMS header JMSDestination corresponds to Rendezvous subject.
JMS header JMSReplyTo corresponds to Rendezvous reply subject.
JMS header JMSExpiration corresponds to the time limit of the Rendezvous certified message.
JMS header JMSTimestamp corresponds to the time when the message was created. If this header field is not present, when the tibemsd receives the message it sets theJMSTimestamp to the current time.
Import
When importing a Rendezvous message to an EMS message, tibemsd does not set any JMS header fields, except for the special cases noted above.
Export
When exporting an EMS message to a Rendezvous message, tibemsd groups all the JMS header fields (except for the special cases noted above) into a single submessage within the Rendezvous 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.
Table 72 presents the mapping of JMS header fields to Rendezvous data types (that is, the type of the corresponding field in the exported message).
send subject in TIBCO Rendezvous
reply subject in TIBCO Rendezvous
JMS Property Fields
Import
When importing a Rendezvous message to an EMS message, tibemsd sets these JMS properties:
JMS_TIBCO_IMPORTED gets the value true, to indicate that the message did not originate from an EMS client.
JMS_TIBCO_MSG_EXT gets the value true, to indicate that the message might contain submessage fields or array fields.
Import RVCM
In addition to the two fields described above, when tibemsd imports a certified message on a tibrvcm transport, it can also set these properties (if the corresponding information is set in the Rendezvous message):
 
Export
When exporting an EMS message to a Rendezvous message, tibemsd groups all the JMS property fields into a single submessage within the Rendezvous message. The field JMSProperties contains that submessage. Fields of the submessage map the names of JMS property fields to their values.
The tibemsd server 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.
Message Body
tibemsd can export messages with any JMS message body type to TIBCO Rendezvous. Conversely, tibemsd can import messages with any message type from TIBCO Rendezvous.
For information about JMS body types, see JMS Message Bodies.
For information about the structure of messages, see JMS Message Structure.
Import
When importing a Rendezvous message, tibemsd translates it to an EMS message body type based on the presence of the field in Table 74.
The field names DATA and _data_ are reserved. We strongly discourage you from using these field names in either EMS and Rendezvous applications, and especially when these two message transport mechanisms interoperate.
Export
When exporting an EMS message, tibemsd translates it to a Rendezvous message with the following structure:
The field JMSHeaders contains a submessage; see JMS Header Fields. When the transport parameter export_headers is false, this field is omitted.
The field JMSProperties contains a submessage; see JMS Property Fields. When the transport parameter export_properties is false, this field is omitted.
The field JMSBytes receives this data. It has type TIBRVMSG_OPAQUE.
The field JMSObject receives this data. It has type TIBRVMSG_OPAQUE.
The field JMSStream receives this data. It has type TIBRVMSG_OPAQUE.
The field JMSText receives this data. It has type TIBRVMSG_STRING.
Data Types
Table 76 presents the mapping between EMS datatypes and Rendezvous datatypes. The mapping is bidirectional, except for the Rendezvous types that have no corresponding EMS type (for these types the mapping is marked as unidirectional in the middle column of Table 76).

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved