WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 作業系統: Linux, Windows

XMS 訊息的主體

訊息的主體含有應用程式資料。不過,訊息中可以沒有主體,而純由標頭欄位和內容組成。

XMS 支援下列五種類型的訊息主體:
位元組
主體含有位元組串流。採用這種主體類型的訊息稱為位元組訊息。C 或 C++ 的 BytesMessage 類別以及 .NET 的 IBytesMessage 介面含有用來處理位元組訊息主體的方法。
對映
主體含有一組名稱值組,其中每一個值都有一個相關聯的資料類型。採用這種主體類型的訊息稱為對映訊息。C 或 C++ 的 MapMessage 類別以及 .NET 的 IMapMessage 介面含有用來處理對映訊息主體的方法。
物件
主體含有已序列化的 Java 或 .NET 物件。採用這種主體類型的訊息稱為物件訊息。C 或 C++ 的 ObjectMessage 類別以及 .NET 的 IObjectMessage 介面含有用來處理物件訊息主體的方法。
串流
主體含有一個值串流,其中每一個值都有一個相關聯的資料類型。採用這種主體類型的訊息稱為串流訊息。C 或 C++ 的 StreamMessage 類別以及 .NET 的 IStreamMessage 介面含有用來處理串流訊息主體的方法。
文字
主體含有一個字串。採用這種主體類型的訊息稱為文字訊息。C 或 C++ 的 TextMessage 類別以及 .NET 的 ITextMessage 介面含有用來處理文字訊息主體的方法。

在 C 介面中,當應用程式建立訊息時, XMS 會將訊息控點傳給應用程式。應用程式可使用這個控點來呼叫 Message 類別的任何方法, 以及呼叫 BytesMessage、MapMessage、ObjectMessage、StreamMessage 或 TextMessage 類別的任何方法 (看何者適合該訊息主體類型)。不過,如果應用程式試著呼叫的方法不適合該訊息主體類型, 則呼叫失敗且 XMS 會傳回 XMS_E_BAD_PARAMETER 錯誤碼。

C 應用程式可呼叫 xmsMsgGetTypeId() 函數來判斷訊息的主體類型。函數會傳回下列值之一:
XMS_MESSAGE_TYPE_BASE
如果訊息沒有主體
XMS_MESSAGE_TYPE_BYTES
如果訊息是位元組訊息
XMS_MESSAGE_TYPE_MAP
如果訊息是對映訊息
XMS_MESSAGE_TYPE_OBJECT
如果訊息是物件訊息
XMS_MESSAGE_TYPE_STREAM
如果訊息是串流訊息
XMS_MESSAGE_TYPE_TEXT
如果訊息是文字訊息
請參閱如下的 C 程式碼片段,例如:
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 提供方法來撰寫採用這些資料類型(而且是只有這些資料類型) 的應用程式資料元素。

表 1. 和 Java 資料類型相容的 XMS 資料類型
XMS 資料類型 代表 大小 相容的 Java 資料類型
xmsBOOL Boolean 值 xmsTRUE 或 xmsFALSE 32 位元 boolean
xmsCHAR16 雙位元組字元 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

如需這五種類型的主體訊息的相關資訊,請參閱下列主題:

相關參考
XMS 訊息的組件
XMS 訊息中的標頭欄位
XMS 訊息的內容
訊息選取器
將 XMS 訊息對映至 WebSphere MQ 訊息

Reference topic

使用條款 | 評比此網頁

時間戳記前次更新: 25 Apr 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)