Use this task to convert an SIMessage object to a byte array.
Why and when to perform this task
If you want to save an SIMessage object in your local filesystem
or in a database, you must first convert the object to a byte array and format
string. You can reconstruct the message from the byte array and format string.
To do this, take the following steps:
Steps for this task
- In your application program, record the format string associated
with the SIMessage instance, for example:String savedFormat=message..getFormat(1);.
- Call the getDataGraphAsBytes. For example: Bytes
newDataGraph = message.getNewDataGraph(newFormat);. This
method returns a copy of the payload as a byte stream. You can store the bytes
and the associated format string, as you require.
- To reconstruct the message, all the method createDataGraph provided
by the SIDataGraphFactory API. This method requires a byte array and a format
string, for example:DataGraph newDataGraph = SIDataGraphFactory.getInstance()
.createDataGraph( byteArray, newFormat); This method
creates a new data graph by parsing the bytes according to the format passed
to the method.
You can use the newly created datagraph as the payload of an SIMessage
instance by using the SIMessage setDataGraph() method, for example:
newMessage.setDataGraph(newDataGraph, savedFormat);