MessageQueueDirector説明書
目次 索引 前ページ次ページ

第2部 拡張機能編> 第11章 イベントチャネル連携サービス> 11.2 機能

11.2.7 文字コード変換機能

 送信側のサーバと受信側のサーバでプラットフォームの違いなどにより文字コードが異なる場合に送受信するメッセージに対して文字コードの変換を行う機能です。

 イベントチャネル連携サービスでは、CORBAサービスの文字コードの変換機能を利用してメッセージに対する文字コードの変換を行います。

 文字コードの変換が可能な組み合わせを表11.7に示します。

[表11.7 文字コードの変換が可能な組み合わせ]

送信側のサーバの文字コード

受信側のサーバの文字コード

ASCII、およびEUC

EBCDICおよびJEF(英小文字使用)

EBCDICおよびJEF(半角カナ使用)

ASCIIおよびシフトJIS

ASCII、およびシフトJIS

EBCDICおよびJEF(英小文字使用)

EBCDICおよびJEF(半角カナ使用)

ASCIIおよびEUC

 文字コードの変換が可能なメッセージの形式を表11.8に示します。

[表11.8 文字コードの変換が可能なメッセージの形式]

送信側のサーバの非同期メッセージ基盤

メッセージの形式

ノーティフィケーションサービス

wchar

string

wstring

JMS

TextMessage

MQD

文字列データだけで作成したメッセージ

 文字コードの変換を行うときの設定方法の一覧を表11.9に示します。

[表11.9 文字コードの変換を行うときの設定方法の一覧]

送信側または受信側のサーバの種類

設定方法

サーバの文字コードがEUCの場合

MQDを起動するシェルの環境変数に以下の値を指定します。

変数: OD_CODE_SET
値 : EUC (注)

サーバの文字コードがSJISの場合

MQDを起動するシェルの環境変数に以下の値を指定します。

変数: OD_CODE_SET
値 : SJIS (注)

Windowsのシステム環境変数に以下の値を指定します。

変数: OD_CODE_SET
値 : SJIS

MQDを起動するシェルの環境変数に以下の値を指定します。

変数: OD_CODE_SET
値 : EUC

注) 受信側のサーバの場合、本値は“11.3.2.6 イベントチャネル連携サービスのCORBAサービスへの登録”でmqdnsgwinit_ns.sh、またはmqdnsgwinit_ior.shに指定するコード系と同じコード系を設定してください。

文字コードの変換が失敗したメッセージの取り扱いについて

 文字コードの変換が失敗した場合、当該メッセージを格納している送信キューの後続のメッセージは、運用操作で当該メッセージを削除するまで送信されません。

 ただし、送信側の非同期メッセージ基盤にMQDを使用している場合は、文字コードの変換に失敗したメッセージを送信異常メッセージの退避用メッセージキューに移動することで継続してメッセージの送信を行うことができます。

 送信異常メッセージの退避用メッセージキューは、イベントチャネル連携サービスのサービス定義で送信異常メッセージの退避用メッセージキューを指定することで利用できます。定義方法については、表11.23を参照してください。

 送信異常メッセージの退避用メッセージキューを使用した場合のメッセージの取り扱いを図11.25に示します。

[図11.25 送信異常メッセージの退避用メッセージキューを使用した場合のメッセージの取り扱い]

[図の説明]

1) メッセージ[a]の送信時にメッセージ内に変換元や変換先のコード系に属さない文字が含まれるなどの理由により文字コードの変換が失敗します。
2) 文字コードの変換に失敗したメッセージ[a]が、イベントチャネル連携サービスにより自動的に送信異常メッセージの退避用メッセージキューに格納されます。

3) 文字コードの変換に失敗したメッセージ[a]以降のメッセージ[b]は、受信側のサーバに送信されます。

 なお、送信異常メッセージの退避用メッセージキューに格納されるメッセージは、文字コードの変換が失敗したエラー情報として表11.10に示す値(COBOL言語の場合)がMQDのメッセージヘッダに設定されます。その他のMQDのメッセージヘッダ情報は、メッセージ送信時の値がそのまま設定されています。C言語の場合にも同様の情報が設定されます。

[表11.10 文字コードの変換に失敗したMQDのメッセージヘッダの内容]

項目名

和名

データ型

設定値

MSG-NAME

メッセージ名

PIC X(64)

SEND-MSG-ERR

ORIGINAL-QNAME

送信キュー名

PIC X(64)

文字コードの変換が失敗したメッセージ送信元のMQDのメッセージキュー名


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005