MessageQueueDirector説明書 |
目次
索引
![]() ![]() |
第2部 拡張機能編 | > 第11章 イベントチャネル連携サービス | > 11.2 機能 |
送信側のサーバと受信側のサーバでプラットフォームの違いなどにより文字コードが異なる場合に送受信するメッセージに対して文字コードの変換を行う機能です。
イベントチャネル連携サービスでは、CORBAサービスの文字コードの変換機能を利用してメッセージに対する文字コードの変換を行います。
文字コードの変換が可能な組み合わせを表11.7に示します。
送信側のサーバの文字コード |
受信側のサーバの文字コード |
---|---|
ASCII、およびEUC |
EBCDICおよびJEF(英小文字使用) |
EBCDICおよびJEF(半角カナ使用) |
|
ASCIIおよびシフトJIS |
|
ASCII、およびシフトJIS |
EBCDICおよびJEF(英小文字使用) |
EBCDICおよびJEF(半角カナ使用) |
|
ASCIIおよびEUC |
文字コードの変換が可能なメッセージの形式を表11.8に示します。
送信側のサーバの非同期メッセージ基盤 |
メッセージの形式 |
---|---|
ノーティフィケーションサービス |
wchar |
string |
|
wstring |
|
JMS |
TextMessage |
MQD |
文字列データだけで作成したメッセージ |
文字コードの変換を行うときの設定方法の一覧を表11.9に示します。
送信側または受信側のサーバの種類 |
設定方法 |
|
---|---|---|
|
サーバの文字コードがEUCの場合 |
MQDを起動するシェルの環境変数に以下の値を指定します。 変数: OD_CODE_SET |
サーバの文字コードがSJISの場合 |
MQDを起動するシェルの環境変数に以下の値を指定します。 変数: OD_CODE_SET |
|
|
Windowsのシステム環境変数に以下の値を指定します。 変数: OD_CODE_SET |
|
|
MQDを起動するシェルの環境変数に以下の値を指定します。 変数: OD_CODE_SET |
注) 受信側のサーバの場合、本値は“11.3.2.6 イベントチャネル連携サービスのCORBAサービスへの登録”でmqdnsgwinit_ns.sh、またはmqdnsgwinit_ior.shに指定するコード系と同じコード系を設定してください。
文字コードの変換が失敗した場合、当該メッセージを格納している送信キューの後続のメッセージは、運用操作で当該メッセージを削除するまで送信されません。
ただし、送信側の非同期メッセージ基盤にMQDを使用している場合は、文字コードの変換に失敗したメッセージを送信異常メッセージの退避用メッセージキューに移動することで継続してメッセージの送信を行うことができます。
送信異常メッセージの退避用メッセージキューは、イベントチャネル連携サービスのサービス定義で送信異常メッセージの退避用メッセージキューを指定することで利用できます。定義方法については、表11.23を参照してください。
送信異常メッセージの退避用メッセージキューを使用した場合のメッセージの取り扱いを図11.25に示します。
[図の説明]
1) メッセージ[a]の送信時にメッセージ内に変換元や変換先のコード系に属さない文字が含まれるなどの理由により文字コードの変換が失敗します。
2) 文字コードの変換に失敗したメッセージ[a]が、イベントチャネル連携サービスにより自動的に送信異常メッセージの退避用メッセージキューに格納されます。
3) 文字コードの変換に失敗したメッセージ[a]以降のメッセージ[b]は、受信側のサーバに送信されます。
なお、送信異常メッセージの退避用メッセージキューに格納されるメッセージは、文字コードの変換が失敗したエラー情報として表11.10に示す値(COBOL言語の場合)がMQDのメッセージヘッダに設定されます。その他のMQDのメッセージヘッダ情報は、メッセージ送信時の値がそのまま設定されています。C言語の場合にも同様の情報が設定されます。
項目名 |
和名 |
データ型 |
設定値 |
---|---|---|---|
MSG-NAME |
メッセージ名 |
PIC X(64) |
SEND-MSG-ERR |
ORIGINAL-QNAME |
送信キュー名 |
PIC X(64) |
文字コードの変換が失敗したメッセージ送信元のMQDのメッセージキュー名 |
目次
索引
![]() ![]() |