ヘッダーをスキップ
Oracle Application Server リリース・ノート
10g リリース3(10.1.3.1.0)for Solaris Operating System (SPARC 64-bit)
B40024-04
  目次
目次

戻る
戻る
 
次へ
次へ
 

4 Oracle JDeveloper

この章では、Oracle JDeveloperに関する問題について説明します。内容は次のとおりです。

4.1 概要

このドキュメントの発行時点で利用できない追加情報は、http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.1/index.htmlの『Oracle JDeveloper (10.1.3.1.0) Release Notes Addendum』を参照してください。

JDeveloperの詳細および技術リソースは、Oracle Technology NetworkのJDeveloper製品センター(http://www.oracle.com/technology/products/jdev/101)を参照してください。

4.2 IDEに関する一般的な問題と対処方法

この項では、IDEに関する一般的な問題とその対処方法について説明します。内容は次のとおりです。

4.2.1 内部CVSクライアントとCVSNTサーバーの非互換性

CVSNTサーバーに対してJDeveloperのCVSクライアントを使用すると、バイナリ・ファイルが破損する場合があります。これに対処するには、JDeveloperでCVSNTのクライアントを使用します。これは、IDE設定の「バージョニング」→「CVS」パネルで構成できます。

4.3 デプロイに関する問題と対処方法

この項では、デプロイに関する一般的な問題とその対処方法について説明します。内容は次のとおりです。

4.3.1 JDeveloperの埋込みサーバーへのEJB Webサーバーのデプロイの失敗

JDeveloperでWebサービス注釈付きのEJBセッションBeanをコンパイルすると、パス名の長さがWindowsの制限を超過する場合があります。JDeveloperでのWebサービス・クラス・ファイルのパス名は、アプリケーションのデプロイメント・フォルダのパス(システムが設定し編集不能)、Webサービスのソース・フォルダのパス(システムが設定)、パッケージ名によって指定されるクラス・ファイルのパス(可能なかぎり短い名前をユーザーが設定)、の3つの要素が連結されて生成されます。

たとえば、次のようなWebサービス・クラス・ファイルのパスが作成されます。ここで、パス名のユーザー指定部分はパッケージ名com.oracle.myapp.ejb.webservice.testを基にしています。

<JDev_
Install>jdev\system\oracle.j2ee.10.1.3.37.58\embedded-oc4j\application-deployment
s\\current-workspace-app\
MyApplication_MyProject\ws-src\com\oracle\myapp\ejb\webservice\test

その結果次の例外が発生します。

oracle.j2ee.ws.common.tools.api.SeiValidationException: Interface
<classname>.SessionEJBBeanPortType: The class could not be loaded from
the class path.

この制約に対処するには、EJBセッションBeanを作成する際に入力するパッケージの名前を短縮します。たとえば、前述の例にあるcom.oracle.myapp.ejb.webservice.testのかわりにパッケージ名com.oracle.myappを使用すると、規定内の長さのクラス・パスになります。

4.3.2 EJB 3モデル・プロジェクト依存性があるADF Webアプリケーションのデプロイの失敗

ADF WebアプリケーションWARファイルをスタンドアロンOC4Jにデプロイする場合、EJB 3モデル・プロジェクト依存性の結果存在する複数の永続性ユニット定義が原因で次のエラーが発生することがあります。

DeployerRunnable.run[application1:ejb3_mdnav_adffaces] - Multiple persistence
units with name "model" are defined at the same
scope.oracle.oc4j.admin.internal.DeployerException: [application1:ejb3_mdnav
_adffaces] - Multiple persistence units with name "model" are defined at the same scope.

このエラーを回避するには、ViewControllerプロジェクト設定を更新して、スタンドアロンOC4JにADF Webアプリケーションをデプロイする前にモデル・プロジェクトの依存性を削除します。

4.3.3 ファイル・システム上のアーカイブ・ファイルへのJDeveloperデプロイメント・プロファイルのデプロイ

アーカイブ・ファイルにJDeveloperデプロイメント・プロファイルをデプロイする場合、デフォルトの動作ではアーカイブを標準J2EEとしてデプロイされます。プラットフォーム固有のディスクリプタ処理を組み込むために特定のアプリケーション・サーバー・プラットフォームのファイルにアーカイブをデプロイするには、「デプロイメント・プロファイル」→「プラットフォーム」ページでターゲット接続を設定する必要があります。ターゲット接続は、接続ナビゲータでアプリケーション・サーバー接続を作成した後に、デフォルト(J2EE)以外にのみ設定できます。

4.4 モデリングに関する問題と対処方法

この項では、モデリングに関する問題とその対処方法について説明します。内容は次のとおりです。

4.4.1 ポップアップ・メニューとUMLのリファクタ

UMLアーチファクトが含まれるナビゲータ・パッケージの場合、アプリケーション・ナビゲータのポップアップ・メニューから「リファクタ」サブメニューが表示されます。ただし、パッケージをリファクタしてもUMLアーチファクトはリファクタされませんが、Javaおよびその他のタイプはリファクタされます。

4.4.2 Javaモデラーへのアクセス可能性

JAWSスクリーン・エディタを使用している場合は、現在Javaモデラーのポップアップ・コード・エディタにアクセスできません。これに対処するには、ダイアグラムのJava要素については「編集」ではなく「ソースへ移動」を起動します。これによってメイン・コード・エディタが実行されます。

4.5 Toplinkに関する問題と対処方法

この項では、Toplinkに関する問題とその対処方法について説明します。内容は次のとおりです。

4.5.1 マルチバイト・キャラクタを含む表のインポート

マルチバイト・キャラクタを使用した名前のデータベース表をインポートする場合は、JDeveloperのエンコーディングをUTF-8に変更する必要があります。

  1. 「ツール」→「設定」→「環境」を選択します。

  2. 「エンコーディング」「UTF-8」に変更します。

  3. JDeveloperを再起動してから表をインポートします。

4.6 EJBに関する問題と対処方法

この項では、EJBに関する問題とその対処方法について説明します。内容は次のとおりです。

4.6.1 EJB 3.0アプリケーションの移行(10.1.3から10.1.3.1)に関する問題

10.1.3.1では、エンティティの永続性コンテキストのライフ・スパンは、関与するトランザクションのライフ・スパンに厳密に結び付けられています。そのため、永続性コンテキストのタイプのデフォルトはPersistenceContextType.TRANSACTIONです。

この要件はJDeveloper 10.1.3では緩く、この、不一致となる要件に依存していたアプリケーションもあります。

JDeveloper 10.1.3.1の厳密な要件下で運用するには、JDeveloper 10.1.3から移行され、Webクライアントと対話を行うEJB 3.0ステートレスSession Beanを、ステートフルSession Beanに変更する必要があります。

この変更に加えて、生成される次の文を

@Resource
EntityManager em;

次のように変更して、

@PersistenceContext(type=PersistenceContextType.EXTENDED)EntityManager em;

Webクライアントが(新しくステートフルになった)Session Beanから返されたエンティティに対して追加の操作を行えるようにします。

4.6.2 EJB 3.0アプリケーションの実行

EJB 3.0ランタイムは、JDeveloper 10.1.3とJDeveloper 10.1.3.1では異なります。JDeveloper 10.1.3で作成されたEJB 3.0アプリケーションは、Oracle Application Server 10.1.3でのみ動作します。また、JDeveloper 10.1.3.1で作成されたEJB 3.0アプリケーションは、Oracle Application Server(SOA)10.1.3.1でのみ動作します。

オンライン・ヘルプ・トピック「EJB 3.0アプリケーションのOracle JDeveloper 10g リリース10.1.3から10.1.3.1への移行」を参照し、「Oracle JDeveloperの開始」→「Oracle JDeveloper 10gへの移行」を選択すると、EJB 3.0アプリケーションをJDeveloper 10.1.3からJDeveloper 10.1.3.1に移行できます。

4.7 Webサービスに関する問題と対処方法

この項では、Webサービスに関する問題とその対処方法について説明します。内容は次のとおりです。

4.7.1 トップダウンSOAP 1.2サービスが編集後にSOAP 1.1に変更される

SOAP 1.2バインディングを含むWSDLからトップダウンでWebサービスを作成し、そのサービスをWebサービス・エディタで編集した場合、バインディングがSOAP 1.1に変更されます。

これに対処するには、Webサービス・エディタのダイアログでSOAP 1.1バインディングの選択を手動で解除し、かわりにSOAP 1.2バインディングを選択します。

4.7.2 一方向操作のトップダウン・サービスが編集後に二方向方式に変更される

一方向操作のトップダウンWebサービスを作成し、Webサービス・エディタを使用してサービスを変更するか、「ソースからWebサービスを再生成」を起動すると、一方向操作が二方向操作に変更されます。

これに対処するには、Webサービス・エディタのダイアログで、「一方向操作をVoidメソッドから作成」チェック・ボックスを手動で選択します。

4.7.3 列挙型で生成されたトップダウンWebサービスが検証に失敗する

列挙型を使用したトップダウンWebサービスWSDLを作成した場合、その後Webサービス・エディタでサービスに対して行った変更は、検証でエラーが発生するためコミットされません。

4.7.4 Webサービス・ハンドラでInitParamまたはヘッダーを削除するとエラーが発生する

InitParamまたはヘッダー(あるいはその両方)を使用するWebサービス・ハンドラを作成し、その後ハンドラを編集してInitParamまたはヘッダーを削除した場合、JDeveloperにエラー・メッセージが表示されます。

これに対処するには、ハンドラを削除し、初期パラメータを使用せずに再作成します。

4.7.5 信頼性を設定して実行するとWebサービス・プロキシが失敗する

信頼性が有効化されているWebサービスに対してプロキシを実行すると失敗し、Httpアナライザを使用して調査すると、サーバーから本体が空のSOAPメッセージが返されます。これはプロキシ信頼性ウィザードの「操作設定」タブのデフォルト値「有効期間」が原因で発生します。

これに対処するには、「有効期間」を2秒以上に増やします。

4.7.6 外部OC4J上のEJB 3.0 WebサービスのテストでEnterprise Managerの「起動」ボタンが表示されない

EJB 3.0 Webサービスを外部OC4Jにデプロイし、Oracle Enterprise Managerからそれをテストしようとした場合、「起動」ボタンが表示されないことがあります。

対処方法はありません。

4.7.7 マルチポートWSDL用に生成されたプロキシの無効なWebサービス・エンドポイント

2つ以上のポートを持つWebサービスにプロキシを作成すると、Webサービスのエンドポイントが無効なプロキシが生成されます。

これに対処するには、WSDLを調査して正しいエンドポイントURLを見つけ出し、生成されたプロキシ・クラスに貼り付けます。

4.7.8 プロジェクト内に複数のWebサービスが存在する場合のランタイム例外

プロジェクトに同じマッピング・ファイルを使用する2つ以上のWebサービスを作成した場合、ランタイム例外が発生します。

対処方法は次のとおりです。

  • ボトムアップWebサービス生成の場合は、2つ目のWebサービスにまだ存在していないserviceName引数値を指定します。

  • トップダウンWebサービス生成の場合は、Webサービスがそれぞれ別のデプロイ用WARに存在し、同じデプロイメント・ディスクリプタが使用されないようにします。

4.8 JavaServer Faces(JSF)に関する問題

この項では、JavaServer Facesに関する問題とその対処方法について説明します。内容は次のとおりです。

4.8.1 JSF 1.1_02でWEB-INF下のページのロードが失敗する

JDeveloper 10.1.3.1では、JavaServer Facesリファレンス実装バージョン1.1_02にアップグレードされます。Sun社から提供されるJSFランタイムのこのメンテナンス・リリースでは、./WEB-INFディレクトリ(またはそれ以下のサブディレクトリ)にあるJSFページを処理しないようにする新規の制約が導入されています。JSFアプリケーションにWEB-INFディレクトリのページが含まれている場合は、それらのページをWebルートの下でWEB-INF以外の別のディレクトリに移動する必要があります。JSFページでADFモデル・データ・バインディングを使用している場合は、JSP/JSPXページを./WEB-INFディレクトリ(またはそのサブディレクトリ)からWebルートの下の新しいディレクトリに移動した後に、変更をDataBindings.cpxファイルの<pageMap>セクション内の「path」の値に反映する必要があります。たとえば、ページの以前の「path」値が/WEB-INF/page/Test.jspxであり、このTest.jspxページを/public_html/page/Test.jspx(ビュー・コントローラ・プロジェクトのHTMLルートは./public_html)に移動した場合は、パスの値を編集して/WEB-INF/page/Test.jspxから/page/Test.jspxに変更する必要があります。

4.9 その他の問題と対処方法

この項では、ドキュメントの記載内容の誤りについて説明します。内容は次のとおりです。

4.9.1 JDeveloperでのJAZNMigrationToolの使用

JAZNMigrationToolには、あるストアからLDAPディレクトリにロード可能な別のストアにコンテンツを移行する方法が用意されています。使用するコマンドは次のとおりです。

java JAZNMigrationTool -D binddn -w passwd [-h ldaphost] [-p ldapport]
[-sf filename] [-df LDIF_filename]
[-sr source_realm] [-dr dest_realm]
[-m policy|realm|all]
[-help]

すべてのユーザー、ロールおよびJAASポリシーをembedded-oc4j/config/system-jazn-data.xmlからj2ee/home/config/system-jazn-data.xmlに移行する例を次に示します。

set CLASSPATH=JDEV_HOME/j2ee/home/jazn.jar:$CLASSPATH$JDEV_HOME/jdk/bin/Java
oracle.security.jazn.tools.JAZNMigrationTool -w welcome -sf JDEV
_HOME/jdev/system/oracle.j2ee.xxxx/embedded-oc4j/config/system-jazn-data.xml -df
JDEV_HOME/j2ee/home/config/system-jazn-data.xml -dt xml

ここでJDEV_HOMEはJDeveloperがインストールされているディレクトリです。XXXXは最終ビルド番号を表します。

詳細は、Java JAZNMigrationTool -helpを発行してください。

4.9.2 Application Server 10.1.2インスタンスに対するADFインストーラの実行

JDeveloperでOracle Application Server 10.1.2インスタンスに対してADFインストーラを実行すると(「ツール」→「ADFインストーラ」)、サーバーがシャットダウンしても「インストールを終了できません」というエラーが発生します。Oracle Application Server 10.1.2インスタンスに対してADFインストーラを実行する前に、Application Serverインスタンスを停止し、Application ServerのControl Manager(Enterprise Manager)サービスもシャットダウンする必要があります。

4.9.3 リストア・オプションでbc4j.earがリストアされない

リストア機能を使用しても、bc4j.earはOracle Application Server 10.1.3.0.0に再デプロイされませんが、datatags.earがbc4j.earと同じものであるため、機能に影響はありません。ただし、必要に応じて、Enterprise Managerコンソールを使用してbc4j.earを手動でデプロイすることができます。