Your program can retrieve the payload of a JMS text message by mapping the body of the message to an SDO data graph representing the message.
You can retrieve the payload of a JMS text message as a Java string value (java.lang.String). First, you must retrieve a data graph representing the message from the SIMessage instance. As is common to all data graphs representing JMS messages, the root data object of the graph contains a property named "data", and that data object in turn contains a property named "value". In JMS text messages the value property may be accessed as a Java string value.
SIMessage siMsg;
String format = siMsg.getFormat();
if (format.equals("JMS:text")) {
DataGraph graph = siMsg.getDataGraph();
String payload = graph.getRootObject().getString("data/value");
}