メッセージ本体と IBM MQ フォーマット間のマッピング

IBM MQ メッセージ・ヘッダー (MQRFH2) および記述子 (MQMD) には、 IBM MQ メッセージ本体のフォーマットに関する情報を含めることができます。 サービス統合は、IBM MQ フォーマットからのメッセージの変換時には MQRFH2 および MQMD に含まれた情報を使用し、IBM MQ フォーマットへのメッセージの変換時には情報を MQRFH2 および MQMD に書き込みます。

サービス統合経由の JMS プログラムと IBM MQ

サービス統合は、文字と数字のエンコードを含め適切な変換を自動的に実行するので、通常はサービス統合と IBM MQ との間で JMS メッセージを交換するためのメッセージ形式の変換を意識する必要はありません。 ただし、ご使用の JMS アプリケーションが予想外の動きをする場合や、サービス統合構成が非 JMS IBM MQ プログラムとの間でメッセージを処理する JMS プログラムまたはメディエーションを含む場合は、メッセージ変換に関する知識が必要になる場合があります。

ご使用のサービス統合アプリケーションが 、IBM MQ アプリケーションと MapMessage オブジェクトを交換する場合、デフォルトではないマップ・メッセージ・エンコード形式を指定する必要がある場合があります。

IBM MQ メッセージのペイロード: フォーマットの指示

IBM MQ フォーマットのメッセージには、ペイロード・フォーマットの以下の 2 つの指示が含まれています。

MQRFH2 <mcd> フォルダー、Msd フィールド
このフィールドには、ペイロード・フォーマットに関する情報を含めることができます。 これは、「JMS フォーマット」情報です。
  • サービス統合は、メッセージを IBM MQ フォーマットに変換する際に、JMS メッセージ・クラスに適切な値を自動的に設定します。
  • サービス統合は、メッセージを IBM MQ フォーマットから変換する際に、(このフィールドを含んだ MQRFH2 が存在する場合には) このフィールドの値を使用して、JMS メッセージ・クラスを設定します。
JMS メッセージ・クラス MQRFH2 <mcd> フォルダー、Msd フィールド (「JMS フォーマット」)
TextMessage jms_text
BytesMessage jms_bytes
StreamMessage jms_stream
MapMessage jms_map
ObjectMessage jms_object
メッセージ jms_none

「JMS フォーマット」情報が使用できない場合 (例えば、MQRFH2 がない場合) には、 サービス統合は、「MQ フォーマット」に基づいて、JMS メッセージ・クラスを設定します。

MQRFH2 <mcd> フォルダーについて詳しくは、Java 使用に関する IBM MQ 資料を参照してください。

MQRFH2 (または MQMD) フォーマット・フィールド

MQRFH2 (MQRFH2 がない場合は MQMD) フォーマット・フィールドには、ペイロード・フォーマットに関する情報が含まれています。 これは、「MQ フォーマット」情報です。 通常、ペイロードが文字データであること (および IBM MQ で別のコード・ページに変換できること) を示す、MQFMT_STRING、 またはペイロードが文字データではないことを示す、MQFMT_NONE が含まれています。 これらの値は、ほとんどの JMS メッセージに適しており、 サービス統合は、メッセージを IBM MQ フォーマットに変換する際に、このフィールドを以下のいずれかの値に自動的に設定します。

JMS メッセージ・クラス MQRFH2 (または MQMD) フォーマット・フィールド (「MQ フォーマット」)
TextMessage MQFMT_STRING
BytesMessage MQFMT_NONE
StreamMessage MQFMT_STRING
MapMessage MQFMT_STRING
ObjectMessage MQFMT_NONE
メッセージ MQFMT_NONE

アプリケーションで、別のフォーマット値が必要な IBM MQ アプリケーションのメッセージを構成する場合、 JMS_IBM_Format プロパティーを必要な値に設定することによって、前の表の値をオーバーライドできます。 例えば、IBM MQ アプリケーションで追加のヘッダー (例: CICS® ブリッジ・アプリケーション用の MQCIH ヘッダー) が必要になる場合があります。 アプリケーションは、ヘッダーの後ろに他のメッセージ・データを含む BytesMessage オブジェクトを構成してから、 JMS_IBM_Format プロパティーをヘッダーの適切な値 (例: MQCIH ヘッダーの MQFMT_CICS) に設定することによって、 デフォルトの「MQ フォーマット」(MQFMT_NONE) を置き換えます。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 JMS_IBM_Format プロパティーを「MQ フォーマット」フィールドの値に設定します。「JMS フォーマット」が使用できない場合 (例えば、MQRFH2 がない場合) には、サービス統合は、「MQ フォーマット」が MQFMT_STRING である場合には TextMessage に、 それ以外の場合には BytesMessage に JMS メッセージ・クラスを設定します。

MQRFH2 (または MQMD) フォーマット・フィールドの詳細については、IBM MQ Application Programming Reference を参照してください。

IBM MQ メッセージ・ペイロード: 文字および数値エンコード

フォーマット・フィールドに加えて、MQRFH2 (MQRFH2 がない場合には MQMD) には、メッセージ・ペイロードの文字エンコードおよび数値エンコードを指定するフィールドが含まれています。

サービス統合は、メッセージを IBM MQ フォーマットに変換する際に、 ほとんどの JMS メッセージに適したデフォルト値 (UTF-8 文字エンコードおよびビッグ・エンディアン数値エンコード) を自動的に選択します。 アプリケーションで、別の文字エンコードまたは数値エンコードが必要な IBM MQ アプリケーションのメッセージを構成する場合は、 JMS_IBM_Character_Set プロパティーを必要なコード化文字セット ID (CCSID) に、または JMS_IBM_Encoding プロパティーを必要な数値フォーマットに、 またはその両方を設定することによって、文字エンコード値をオーバーライドできます。JMS_IBM_Character_Set および JMS_IBM_Encoding で使用できる値については、 IBM MQ ライブラリーの資料を参照してください。

JMS メッセージに、IBM MQ で文字データとしてエンコードされた本体 (TextMessage、StreamMessage、または MapMessage) が含まれている場合は、 JMS_IBM_Character_Set を設定すると、サービス統合は、テキストを IBM MQ メッセージ本体のコード化文字セットに変換します。

JMS メッセージに、文字データではない本体 (BytesMessage または ObjectMessage) が含まれている場合、 JMS_IBM_Character_Set を設定しても、サービス統合は、バイトを変換せず、 メッセージ本体内のすべての文字データが既に指定されたコード化文字セットを使用してエンコードされていることを IBM MQ に指示します。 JMS_IBM_Format の値が IBM MQ によって認識されるフォーマットである場合、文字データを、受信側のアプリケーションが必要とするコード化文字セットに変換することができます。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 MQRFH2 (MQRFH2 がない場合には MQMD ) のフィールドから、JMS_IBM_Character_Set および JMS_IBM_Encoding プロパティーを設定します。 JMS メッセージが TextMessage、StreamMessage、MapMessage、または ObjectMessage である場合には、アプリケーションは、 JMS_IBM_Character_Set および JMS_IBM_Encoding プロパティーの値を使用しません。 JMS メッセージが BytesMessage の場合には、JMS メッセージの本体はバイナリー・データです。 この場合、JMS_IBM_Character_Set および JMS_IBM_Encoding プロパティーの値は、 メッセージのバイナリー・データ内に埋め込まれた文字データまたは数値データのエンコードを示すものなので、アプリケーションはこの値を認識している必要があります。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0005_
ファイル名:rjc0005_.html