BEA ホーム | 製品 | dev2dev | WebSUPPORT | askBEA
 ドキュメントのダウンロード   用語集   検索 

WebLogic Workshop 7.0 日本語環境での使用にあたって

 

このドキュメントでは以下のトピックについて説明しています。

次の URL にある WebLogic Workshop リリース ノートも併せて参照してください。

http://edocs.beasys.co.jp/e-docs/workshop/docs70/relnotes/index.htm

 


WebLogicWorkshop7.0SP2 ランタイムで jRockit をサポート

WeblogicWorkShop7.0SP2 ではランタイムのみjRockitをサポートします。IDEではjRockit はサポート対象外となります。つまり、Workshop IDE(GUI)から起動されるWebLogicServer(workshopドメイン)ではjRockitを使用できますが、Workshop IDE(GUI)ではjRockitを使用できません。

WebLogicPlatform7.0SP2日本語版インストーラは jRockitをバンドルしていません。WebLogicWorkshop7.0SP2 ランタイムで jRockit を使用するには弊社Webサイトのダウンロードサイト(http://www.beasys.co.jp/evaluation/index.html)より 別途 jRockit 単体のインストーラをダウンロード、インストールして、その後、必要なファイルの設定を行ってください。

WeblogicWorkshop7.0SP2でjRockitを使用するには、以下の手順でファイルを編集してください。

Windows

  1. WorkShopドメインに関する変更点
    1. %WL_HOME%\samples\workshop\startWebLogic.cmdの編集
      41行目の環境変数 JAVA_HOME をjRockitをインストールしたディレクトリに変更します。
    2. %WL_HOME%\samples\workshop\stopWebLogic.cmdの編集
      6行目の環境変数 JAVA_HOME を jRockit をインストールしたディレクトリに変更します。
  2.  

  3. %WL_HOME%\common\bin\commEnv.cmd の編集
    • 44行目の環境変数 COMM_JAVA_HOMEをjRockitをインストールしたディレクトリに変更します。
    • 49行目の環境変数 COMM_JAVA_VENDOR を"BEA"に変更します。
  4.  

  5. %WL_HOME%\server\bin\startWLS.cmdの編集
    • 61 行目の環境変数 JAVA_HOME を jRockit をインストールしたディレクトリに変更します。
    • 132 行目および 137 行目の環境変数 %JAVA_VM% を削除します。

以上でファイルの編集は完了です。

 

Linux

  1. WorkShopドメインに関する変更点
    1. $WL_HOME/samples/workshop/startWebLogic.shの編集
      20行目の環境変数 JAVA_HOME を jRockit をインストールしたディレクトリに変更します。
    2. $WL_HOME/samples/workshop/stopWebLogic.shの編集
      5行目の環境変数 JAVA_HOME を jRockit をインストールしたディレクトリに変更します。
  2.  

  3. $WL_HOME/common/bin/commEnv.sh の編集
    • 58行目の環境変数 COMM_JAVA_HOME を jRockitをインストールしたディレクトリに変更します。
    • 62行目の環境変数 COMM_JAVA_VENDOR を "BEA" に変更します。
  4.  

  5. $WL_HOME/server/bin/startWLS.shの編集
    • 64 行目の環境変数 JAVA_HOME を jRockitをインストールしたディレクトリに変更します。
    • 278 行目および 281 行目の環境変数 ${JAVA_VM} を削除します。

以上でファイルの編集は完了です。

 


WebLogic Workshop の I18n 概要

WebLogic Workshop 7.0SP1では日本語環境で使用するために必要な機能が実装されました。ベータ版、評価版などでは日本語を扱う上でいくつか制限事項がありましたが本リリースで修正されています。

なお、WebLogic Workshop は WebLogic Sever の Web サービスをベースに動作します。したがって WebLogic Sever の Web サービスで存在する制限事項は Workshop で開発した Web サービスでも存在します。

 


SOAPメッセージとエンコーディングの扱い

SOAPメッセージの受信

WebLogic Sever の Web サービスと同じで、エンコーディングの取り扱いはSOAP1.1仕様に準拠します (注1)。 SOAP1.1 の HTTP/SOAP メッセージのメディアタイプは 'text/xml' であり、そのエンコーディングの扱いは RFC2376 で規定されています。RFC 仕様としては以下の動作をします。

  • HTTP / SOAP リクエストのキャラクタセットの解釈は、HTTP ヘッダーの ContentType の charset パラメタで決定する。
  • SOAP ボディの XML 宣言における encoding 属性は無視する。
  • ContentType の charset パラメタが省略されている場合は、US-ASCII とみなして処理する。

WebLogic Sever 7.0SP1 はこの仕様に準拠して動作するため、WebLogic Workshop の動作もこれに準じます。したがって、WebLogic Workshop で開発した Web サービスをHTTP/SOAP で呼び出すクライアントは、ContentType の charset 指定が正しくされていることをご確認ください。

SOAPメッセージの送信

WebLogic Sever では全ての HTTP/SOAP メッセージは utf-8 で生成します。その際、SOAP メッセージのヘッダに 'encoding=UTF-8' も付加されます。WebLogic Workshop も同じ動作をします。

※注1:WebLogic Server を英語ロケールで起動した場合(UNIX上で LANG=C の環境など)は SOAP メッセージで使用できるのは us-ascii 文字のみです。それ以外の文字は動作保証の対象外となります。 Web サービスで日本語の文字を使用する場合は必ず日本語のロケールで WebLogic Server を起動してください。

なお、英語ロケールで起動した WebLogic Server で us-ascii 以外の文字を使用する場合は(注2)以下の起動オプションを WebLogic Server の起動スクリプトファイル内で定義してください。これにより WebLogic Server が英語ロケールで動作していても utf-8 でメッセージを生成できます。

-Dweblogic.webservice.i18n.charset=utf-8

※注2: SOAP のメッセージにASCII 以外の文字を使用する場合には、必ず UTF-8 を使用してください。

 


ファイルの種類とエンコーディング

JWS

JWS ファイルには、Java Web サービスが含まれます。JWS ファイルと CTRL ファイルは、WebLogic Workshop Web サービスの構築時に扱われる中心的なファイル タイプです。JWS ファイルはプレーンテキストのファイルです。.java ファイルと同様に、任意のエディタで編集が可能です。WebLogic Workshop 以外で編集する際には以下の点にご注意ください。

  • JWSファイルはプラットフォームのデフォルトのエンコーディングで読み込み、書き込みを行ってください。例えば日本語 Windows は MS932、UNIX では LANG 環境変数に応じたエンコーディングを使用します。
  • JWS ファイル内ではマルチバイト文字は Java プログラムソースにおけるマルチバイト文字と同様に扱われます。ただし、クラス名(すなわちファイル名)にはマルチバイト文字は使用できません。 (注2)

※注2:WebLogic Workshop では JWS ファイルをプラットフォームのデフォルトエンコーディングで生成/編集します。JWSファイルを異なるプラットフォームで使用する場合にはエンコーディング変換を行ってから使用してください。

CTRL

CTRL ファイルは通常、データベースや他の Web サービスといったリソースへの簡単なアクセスを可能にするメソッド定義の集合が含まれます。CTRL ファイルはプレーンテキストのファイルです。.java ファイルと同様に、任意のエディタで編集が可能です。WebLogic Workshop 以外で編集する際には以下の点にご注意ください。

  • CTRLファイルはプラットフォームのデフォルトのエンコーディングで読み込み、書き込みを行ってください。例えば日本語 Windows では MS932、UNIX では LANG 環境変数に応じたエンコーディングを使用します。
  • CTRL ファイル内ではマルチバイト文字は Java プログラムソースにおけるマルチバイト文字と同様に扱われます。ただし、クラス名(すなわちファイル名)にはマルチバイト文字は使用できません。(注3)

※注3:WebLogic Workshop では CTRL ファイルをプラットフォームのデフォルトエンコーディングで生成 / 編集します。CTRL ファイルを異なるプラットフォームで使用する場合にはエンコーディング変換を行ってから使用してください。

WSDL

WSDLは Web サービスプログラム (JWSファイル や CTRL ファイル) の外部にファイルとして持つ場合と、JWS ファイルや、CTRL ファイルのコメント部分にインラインで埋め込まれる場合の2種類があります。ファイルとして持った場合は XML ファイル、コメント部にインラインで持つ場合はプレーンテキストとして扱われます。

WSDL のエンコーディングの扱いは以下のとおりです。

  • WebLogic Workshop で JWS ファイルから生成される場合、utf-8 の XML ファイルとして生成されます。XML 宣言に encoding=utf-8 が付加されます。
  • WebLogic Workshop でサービスコントロールの追加をする際に、URL を指定してネットワーク上の WSDL をダウンロードする場合、HTTP レスポンスの ContentType Charset パラメータにより WSDL ファイルのエンコーディングが決まります。
  • WebLogic Workshopで WSDL ファイルを編集する場合は、XML 宣言の encoding 属性の記述によって保存されるファイルのエンコーディングが決まります。省略した場合は utf-8 で保存されます(注4)。
  • jwsCompile コマンドで生成される WSDL ファイルは utf-8 です。XML 宣言に 'encoding=utf-8' が付加されます。
  • デプロイした Web サービスから WSDL ファイルを生成することができます。この場合WSDL ファイルのエンコーディングは utf-8 です。XML 宣言に 'encoding=utf-8' が付加されます。
  • WSDL を JWS / CTRL のコメントにインラインで記述する場合、エンコーディングはJWS / CTRL ファイルのエンコーディングに従います。この場合、埋め込まれた WSDL のXML 宣言の encoding は意味を持ちません。

※注4: Web サービス ツールの中には、XML 宣言 を含まない WSDL ファイルを生成するものもあります。WebLogic Workshop では、すべての XML ファイルに XML 宣言が含まれている必要があります。XML 宣言は、次のような形式で XML ファイルの最初の行に置かれます。

<?xml version="1.0" encoding="utf-8" ?>

XML 宣言を持たない WSDL ファイルを受け取った場合、その WSDL ファイルを WebLogic Workshop で使用するには、テキスト エディタで XML 宣言を追加する必要があります。

encoding 属性は必須ではありません。encoding 属性が指定されていない場合のデフォルト エンコーディングは、utf-8 になります。

XML マップ

XML マップは、サービスで、受け取る XML メッセージの特定のフォーマットを処理したり、特定のフォーマットを他のコンポーネントに送信したりする必要がある場合に使用します。サービスで使用する XML マップは、サービスのコードを使用してインラインで保持するか、または XMLMAP という拡張子の付いた別のマップ ファイル(注5)に格納します。

  • WebLogic Workshop で生成/編集する場合は、XML 宣言の encoding 属性により保存されるエンコーディングが決まります。XML 宣言の encoding 属性を省略すると utf-8で保存されます。XML 宣言は省略できません。
  • インラインで保持する場合には XML 宣言を記述しないでください。XML 宣言を記述するとビルドエラーとなります(注6)。

※注5:XML マップファイルを WebLogic Workshop で編集する場合、以下の制限事項があります。

WebLogic Workshop では、すべての XML ファイルに XML 宣言が含まれている必要があります。XML 宣言は、次のような形式で XML ファイルの最初の行に置かれます。

<?xml version="1.0" encoding="utf-8" ?>

XML 宣言を持たない XMLMAP ファイルがあった場合、その XMLMAP ファイルを WebLogic Workshop で使用するには、テキスト エディタで XML 宣言を追加する必要があります。

encoding 属性は必須ではありません。encoding 属性が指定されていない場合のデフォルト エンコーディングは、utf-8 になります。

※注6:インラインのWSDLの場合と異なり、インラインのXMLマップではXML宣言が無視されません。

JSX ( ECMAScript )

JSXファイルはJavaとXML間のマッピングをより細かく制御するために使用します。 JSX ファイル (ECMAScript) 内にマルチバイト文字は使用できません。 但し、JavaScript関数の変数の値にマルチバイト文字を使うことは問題ありません。

WebLogic Workshop を日本語環境でお使いの場合、ファイル -> 新規作成 -> 新しいJavaScriptクラス からファイルを生成すると日本語のコメントを含んだ JSXファイルが生成されます。JSXファイルを使用するにはこのファイルから マルチバイト文字を削除してください。

 


IDE

ファイル生成時のエンコーディング

ファイルの種類とエンコーディング」の項で説明しましたが、WebLogic Workshop でファイルを生成したり、編集する際のファイルのエンコーディングコンバージョンは以下のようになります。

プログラムソースを生成する場合はプラットフォームのデフォルトのエンコーディング、XML ファイルを生成する場合はUTF-8 で生成します。

ソースエディタ

ソースエディタでマルチバイト文字を編集(注7)すると、各ファイルタイプごとのエンコーディング規則に従ったエンコーディングで読み込み / 保存が行われます。ファイルタイプの違いによりエディタは次のようにエンコーディングを扱います。

  • .JWS / .CTRL
    プラットフォームのデフォルトのエンコーディングで読み込み / 保存します。
  • .WSDL / .XMLMAP など、ファイルの先頭行にXML宣言のあるファイル
    XML 宣言のエンコーディング属性にしたがって読み込み / 保存が行われます。XML宣言にエンコーディング属性がない場合は UTF-8 で扱います。また、XML宣言がない場合、拡張子が .WSDL .XML や .XMLMAP であってもプラットフォームのデフォルトのエンコーディングで扱います。

※注7:日本語入力の際に、かな漢字変換中の文字は、確定した文字と区別できません。

SQLマップ

マルチバイトのテーブル名や変数名にマルチバイトを使用している DB に対してマップすることができます。SQL のデータ型と Java のデータ型のマッピングに関しての詳細はご使用のJDBC ドライバのマニュアルを参照ください。

マルチバイト文字を使うデータベース環境でDATETIME型のカラムをマップする場合にはString でなく、Java の Date や Time などを使用する必要のある場合があります。

 


Runtime

SocketException について

WebLogic Workshop IDEを起動した状態では、WebLogic Workshop Runtimeの サーバログに以下のエラーメッセージが定期的に表示されます。 このエラーメッセージはWebLogic Workshop および WebLogic Server の動作には 影響はありません。

エラーログメッセージ

------------------------------------------------------------------------

<2002/09/19 15:09:05:JST> <Error> <HTTP> <101083> <接続失敗> java.net.SocketException: ReadFile failed: 指定されたネットワーク名は利用できま せん。 (error 64, fd 1668) at weblogic.socket.NTSocketMuxer.initiateIO(Native Method) at weblogic.socket.NTSocketMuxer.initiateIO(NTSocketMuxer.java:463) at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java:429) at weblogic.servlet.internal.MuxableSocketHTTP.requeue(MuxableSocketHTTP .java:292) at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImp l.java:1188) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm pl.java:2549) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)

------------------------------------------------------------------------

web.xml/weblogic.xml/weblogic-jws-config.xml ファイルの日本語の扱い

プロジェクトのルートディレクトリに作成される WEB-INF ディレクトリ内のDDファイル (web.xml/weblogic.xml/weblogic-jws-config.xml) にはXMLのコメント以外の部分で マルチバイト文字は使用できません。

また、プロジェクト名、JWSファイル名にマルチバイト文字は使用できません。

 


デバッグページ

WebLogic Workshop のデバッグのコンテンツは英語で生成されますが、エンコーディングはutf-8 が使用されています。入力フィールドや testXML の入力フィールドにマルチバイト文字を使用できます。

プロジェクトのディレクトリ表示ページでファイル名がマルチバイトの場合正しく表示できません。

 

BACK TO TOP