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

マルチバイト環境での使用にあたって

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

BEA AquaLogic Service Bus マルチバイト環境での使用にあたって

 

本ドキュメントでは、BEA AquaLogic Service Bus 2.1 をマルチバイト環境下で使用する場合の既知の問題点や注意点を記述しています。含む内容は以下の通りです。

 


使用上の注意

本章では、BEA AquaLogic Service Bus 2.1 をマルチバイト環境上での使用にあたり、必要な準備や注意点を記述しています。

XQuery Mapperでマルチバイト文字を表示するためのフォント設定

XQuery Mapperでマルチバイト文字を正しく表示す るためには、Eclipseのフォント設定を手動で行わなければならない場合があ ります。設定する手順は、メニュー [Window - Preferences] を開き、次にそ の中の [General - Appearance - Colors and Fonts] を選択します。右側に 表示される色とフォントのリスト中で xxxx Font という名前の要素を選び、 [Change...]ボタンをクリックします。それにより表示されたダイアログ中の 文字セットを適切な言語に変更してください。

Eclipse言語パックについて

XQuery MapperはEclipse 3.1.1をベースにしてい ますが、インストーラにはEclipse言語パックは含んでおりません。言語パッ クは以下のページからダウンロード可能です。但し、BEAでは言語パックを適 当した状態での動作確認は行っておりません。

http://www.eclipse.org/downloads/index.php


v2.0からの変更点

本章では、BEA AquaLogic Service Bus 2.1 にお いて施された修正または機能強化により生じたv2.0からの重要な変更点につい て記述しています。

HTTP GETメソッドにおけるURL内query-string部分のエンコーディングハンドリング

v2.1では、任意のエンコーディングでエンコードされたquery-stringを扱 えるように機能強化されました。以下、プロキシサービス側とビジネスサービ ス側に分けて説明します。

【プロキシサービス】
v2.0では、URLエンコードされたquery-stingは、UTF-8を基にしてエンコード されているものとして一律処理されていました。v2.1ではプロキシせービス定 義時に要求エンコーディングに指定する事で、任意のエンコーディングに対応 できるように変更されました。以下の優先度で処理されます。

  1. Content-Type/charset属性 (*注1)
  2. 要求エンコーディング
  3. デフォルト:iso-8859-1

*注1) 実装上の都合により、HTTPヘッダ内のContent-Type/charset属性が最優先されますが、 GETメソッドにおいてHTTPヘッダが指定される事は一般的ではないと考えられ るため、実質的には要求エンコーディングが優先して使用されます。

【ビジネスサービス】
v2.0ではビジネスサービスそれ自身はURLエンコーディングを行う能力を有し ていませんでした。v2.1ではビジネスサービスにURLエンコード機能が追加さ れ、またサービス定義時に指定された要求エンコーディングをベースエンコー ディングに用いる事で、任意のエンコーディングに対応できるように変更され ました。以下の優先度で処理されます。

  1. 要求エンコーディング
  2. デフォルト:iso-8859-1 (*注2)

*注2) これはつまり、query-stringにマルチバイト文字が含まれる場合は、必ず要求エンコーディングを指定する必要があります。

プロキシサービスのFileおよびFTPトランスポートにおけるXMLメッセージのエンコーディングハンドリング

v2.0では、FileおよびFTPトランスポート上でXMLメッセージを扱う場合、 プロキシ設定の要求エンコーディングと実際のXMLファイルのエンコーディン グを必ず一致させる必要がありました。(旧版「既知の問題」参照) v2.1ではこの点を強化し、要求エンコーディングを指 定していない場合は、XMLファイル内のencoding宣言を参照して処理するよう になりました。v2.1では以下の優先度で処理が行われます。

  1. 要求エンコーディング
  2. XMLヘッダ内encoding宣言 (要求エンコーディング未指定時)
  3. デフォルト:UTF-8 (要求エンコーディング未指定、かつXMLヘッダ内にencoding属性が無い場合)

HTTPおよびe-mailトランスポートにおけるエンコーディングハンドリング

v2.1ではHTTPおよびe-mailトランスポートでのエンコーディングハンドリングが見直されました。主な変更点は以下の通りです。またv2.1での各トランスポートでのエンコーディングハンドリングを「BEA AquaLogic Service Bus エンコーディングハンドリング」にまとめてありますので参照してください。

  1. メッセージフロー内でメッセージボディ($body)を更新していない場合に限り、到着したメッセージのエンコーディングを出力側に引き継ぐ事ができるようになりました。
  2. AquaLogic Service Bus が外部からのメッセージを受け取る場面で、charsetが指定されていないメッセージを、要求エンコーディングで指定する事で解釈可能になりました。

既知の問題

本章では、BEA AquaLogic Service Bus 2.1 におけるマルチバイト環境上での使用について、既知の問題を記述しています。

インストールディレクトリにマルチバイト文字を含む場合、XQuery Mapperが起動できない

製品を、マルチバイト文字を含むディレクトリ配下にインストールした場合、XQuery Mapperが正しく起動しません。

回避策: 以下のファイルの内容を、JDKが提供するnative2asciiコマンドを実行して得られた結果に置き換えてください。以下に実行例を示します。(Windows上の例)

        % cd c:\bea\eclipse301\links
        % ren com.bea.wli.ide.mapper.feature.link com.bea.wli.ide.mapper.feature.link.bak
        % c:\bea\jrockit90_150_03\bin\native2ascii com.bea.wli.ide.mapper.feature.link.bak com.bea.wli.ide.mapper.feature.link

 


制限事項

本章では、BEA AquaLogic Service Bus におけるマルチバイト環境下での制限事項に関して記述しています。

アラートメッセージをJMSを用いて送信する場合のエンコーディング

アラート発生時の処理として"JMS送り先にアラートを送信"を選択した場合、送信されるメッセージはBytesMessage型になります。(Text型は現在指定できません) この内容は、"要求エンコーディング"で指定したエンコーディングでエンコードされたbyte配列になります。

FormatBuilderにおけるデリミタへのマルチバイト文字の使用制限

FormatBuilderにおいて、デリミタとしてマルチバイト文字を使用することはできません。

URL指定リソース取得時のURLエンコーディング

v2.1より、URLを指定して外部のService Busサーバーからリソースを取得する機能が追加されました。この時指定するURLの形式は以下のようになります。

  http://localhost:7021/sbresource?WSDL/[project name]/[folder name]/[resource name]

    [project name]はリソースが登録されているプロジェクトの名前
    [folder name]はリソースが登録されているフォルダの名前
    [resource name]はリソースの名前

これらプロジェクト、フォルダ、リソース名にマルチバイト文字を使用しているリソースを取得する場合は、UTF-8を用いてURLエンコードを施した文字列を指定する必要があります。

Zipファイルからのリソースのロードについて

v2.1から、.zipまたは.jarファイルを指定してリソースをロードする事が可能になりました。([プロジェクトエクスプローラ]-[リソースの作成]-[バルク]-[zip圧縮リソース]) 本機能では、zipファイル内にマルチバイトを含むファイル名を持つ場合、正しく処理できません。マルチバイトファイル名を含む場合はjarファイルを使用する必要があります。

 


v2.1で修正された問題

以下の問題は本リリース(v2.1)で修正されています。問題の詳細に関しては、旧版対応ドキュメントを参照してください。

 

ページの先頭 前 次