# 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.
- When translating the data fields of an EMS message, the results depend on the JMS body type. The following table specifies the mapping.

  JMS Body Type | Export Translation
  --- | ---
  `BytesMessage` | The message data translates to a byte array that contains the bytes of the original EMS message. The field `JMSBytes` receives this data. It has type `TIBRVMSG_OPAQUE`.
  `ObjectMessage` | The message data translates to a byte array containing the serialized Java object. The field `JMSObject` receives this data. It has type `TIBRVMSG_OPAQUE`.
  `StreamMessage` | The message data translates to a byte array that encodes the objects in the original EMS message. The field `JMSStream` receives this data. It has type `TIBRVMSG_OPAQUE`.
  `TextMessage` | The message data translates to a UTF-8 string corresponding to the text of the original EMS message. The field `JMSText` receives this data. It has type `TIBRVMSG_STRING`.
  `MapMessage` | The message data fields map directly to top-level fields in the Rendezvous message. The fields retain the same names as in the original EMS message. See also, EMS Extensions to JMS Messages.

Copyright © Cloud Software Group, Inc. All rights reserved.