メッセージの本文にはアプリケーション・データが含まれています。ただしメッセージは、本文が含まれずに、ヘッダー・フィールドとプロパティーのみで構成されることもあります。
C インターフェースでは、アプリケーションがメッセージを作成すると、XMS がアプリケーションにメッセージ・ハンドルを戻します。アプリケーションは、このハンドルを使用して、Message クラスの任意のメソッド、および BytesMessage、 MapMessage、ObjectMessage、Stream Message、または TextMessage クラスの任意のメソッドの中から、いずれでもメッセージ本文のタイプに適切なメソッドを呼び出すことができます。ただし、メッセージ本文のタイプに不適切なメソッドをアプリケーションが呼び出そうとすると、呼び出しに失敗し、XMS はエラー・コード XMS_E_BAD_PARAMETER を戻します。
xmsMESSAGE_TYPE msgtype; xmsMsgConsumerReceive(messageConsumer, &msg, errorBlock); xmsMsgGetTypeId(msg, &msgtype, errorBlock); if (msgtype == XMS_MESSAGE_TYPE_BYTES) { xmsBytesMsgGetBodyLength(msg, &length, errorBlock); }
C++ インターフェースでは、BytesMessage、MapMessage、ObjectMessage、 StreamMessage、および TextMessage が Message クラスのサブクラスになります。
.NET では、IMessage インターフェースがすべてのメッセージ・オブジェクトの親になり、メッセージング関数で使用して XMS メッセージ・タイプのいずれかを表すことができます。
XMS アプリケーションが、WebSphere MQ JMS アプリケーションとの間で確実にメッセージを交換するには、XMS アプリケーションと WebSphere MQ JMS アプリケーションで、メッセージの本文のアプリケーション・データを同じ方法で解釈できるようにしておく必要があります。この理由により、XMS アプリケーションによってメッセージの本文に書き込まれるアプリケーション・データの各エレメントは、表 1 のリストにあるデータ型のいずれかを持っている必要があります。表には、XMS データ型ごとに、互換性のある Java データ・タイプが示されています。XMS には、これらのデータ型のアプリケーション・データのエレメントを書き込むメソッドが用意されています。データ型は、これらのデータ型に限定されています。
XMS データ型 | 意味 | サイズ | 互換性のある Java データ型 |
---|---|---|---|
xmsBOOL | ブール値 xmsTRUE または xmsFALSE | 32 ビット | boolean |
xmsCHAR16 | 2 バイト文字 | 16 ビット | char |
xmsSBYTE | 符号付き 8 ビット整数 | 8 ビット | byte |
xmsSHORT | 符号付き 16 ビット整数 | 16 ビット | short |
xmsINT | 符号付き 32 ビット整数 | 32 ビット | int |
xmsLONG | 符号付き 64 ビット整数 | 64 ビット | long |
xmsFLOAT | 符号付き浮動小数点数 | 32 ビット | float |
xmsDOUBLE | 符号付き倍精度浮動小数点数 | 64 ビット | double |
String | 文字ストリング | - | String |
本文メッセージの 5 つのタイプについて詳しくは、次のトピックを参照してください。