ナビゲーションをスキップ

BEA AquaLogic Service Bus エンコーディングハンドリング

  前 次 前/次ボタンと目次ボタンとの区切り線 目次

BEA AquaLogic Service Bus エンコーディングハンドリング

BEA AquaLogic Service Bus はその製品特性上、 様々なシステムから送られてくるメッセージの様々なエンコーディング(*注1)に、柔軟に対応できるように設計されています。マ ルチバイト文字を扱うシステムとの連携においては、AquaLogic Service Bus がどのようにエンコーディングを扱うかを知る事が必要不可欠になります。複 数のトランスポートを扱う AquaLogic Service Bus では、可能な限りトラン スポート(プロトコル)の規約に沿うように実装されていますが、逆にそれがト ランスポート間の差を招き、単純ではありません。本ドキュメントでは、各ト ランスポートのエンコーディングの扱い方を説明します。なおドキュメントを 読み進むに当たり、以下の概略図を念頭に置いておくと分かりやすいでしょう。 Case.1は、メッセージフロー内から別のサービスへルーティングを行う例を表 し、Case.2はルーティングを伴わないフローを表しています。


図1: メッセージフロー概略図


(*注1) 但し、AquaLogic Service Bus が扱えるエンコーディングは、Java がサポートするエンコーディングに限ります。

HTTP/HTTPSトランスポート

HTTP/HTTPSトランスポートでは、外部からメッセージを受ける場面でのエ ンコーディングを、以下の情報のいずれかから優先度に従い決定し、処理しま す。

またメッセージを外部サービスに対して送信する場合のエンコーディング は、以下の情報のいずれかから優先度に従い決定します。

優先度は以下の表の通りです。


プロキシサービスrequestビジネスサービスrequest
1. Content-Type/charset属性
2. 要求エンコーディング設定値
3. デフォルト:iso-8859-1
1. 要求エンコーディング設定値
2. ($body更新時)汎用エンコーディング:UTF-8
3. 元となるメッセージのエンコーディング
プロキシサービスresponseビジネスサービスresponse
1. 応答エンコーディング設定値
2. ($body更新時)汎用エンコーディング:UTF-8
3. 元となるメッセージのエンコーディング
1. Content-Type/charset属性
2. 応答エンコーディング設定値
3. デフォルト:iso-8859-1

なお、$body等のコンテキスト変数の詳細は、製品ドキュメント内のMessage Contextの項を参照して下さい。

e-mailトランスポート

e-mailトランスポートでは、プロキシサービスがe-mailを受信した際、メッ セージのエンコーディングを以下の情報のいずれかから優先度に従い決定し、 処理します。

またビジネスサービスからの送信の際のエンコーディングは、以下の情報 のいずれかから優先度に従い決定し、処理します。

優先度は以下の表の通りです。


プロキシサービスrequestビジネスサービスrequest
1. Content-Type/charset属性
2. 要求エンコーディング設定値
3. デフォルト:iso-8859-1
1. 要求エンコーディング設定値
2. ($body更新時)汎用エンコーディング:UTF-8
3. 元メッセージのエンコーディング

file/ftpトランスポート

fileおよびftpトランスポートでは、プロキシサービスによるファイルの読 み込み、およびビジネスサービスによる書き込み時のエンコーディングとも、 以下の優先度に従い決定し、処理します。

  1. サービス定義時に設定した要求エンコーディング
  2. XML宣言encoding属性値(XMLタイプのみ)
  3. デフォルト値(UTF-8)

JMSトランスポート

JMSトランスポートでは、プロキシサービスによるキュー/トピックの読み 出し、およびビジネスサービスによる書き出し時のエンコーディングとも、以 下の優先度に従い決定し、処理します。

  1. サービス定義時に設定した要求エンコーディング
  2. デフォルト値(UTF-8)

なおJMSトランスポートでのエンコーディング処理は、JMSのByteMessage I/Fを使用した場合に限り行われます。

 

ページの先頭 前 次