ヘッダーをスキップ
Oracle Application Serverリリース・ノート
10gリリース3(10.1.3.2.0) for HP-UX PA-RISC(64-bit)
E05148-02
  目次
目次

戻る
戻る
 
次へ
次へ
 

7 Oracle JDeveloper

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

7.1 概要

このマニュアルの発行時点で入手できなかった追加情報については、次のURLにある『Oracle JDeveloperリリース・ノート』の追加情報を参照してください。http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.1/index.html

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

7.2 IDEの一般的な問題および回避方法

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

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

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

7.3 デプロイの問題および回避方法

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

7.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-deployments\\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を使用すると、規定内の長さのクラス・パスになります。

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

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

DeployerRunnable.run[application1:ejb3_mdnav_adffaces] - 複数の名前"{1}"の永続性ユニットが同じ有効範囲に定義されています。oracle.oc4j.admin.internal.DeployerException: [application1:ejb3_mdnav_adffaces] - 複数の名前"{1}"の永続性ユニットが同じ有効範囲に定義されています。

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

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

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

7.4 データベースの問題および回避方法

この項では、データベースに関する問題とその回避方法について説明します。内容は次のとおりです。

7.4.1 Oracle Liteの表を基にしたエンティティBeanの最初の表にのみエンティティが作成される

Oracle Liteリリース10.2.0.2は、列定義に対する標準JDBCメタデータをサポートしていないため、EJBエンティティを作成できません。この問題は、Oracle Lite 10.2.0.3で解決される予定です。

7.5 モデリングの問題および回避方法

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

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

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

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

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

7.6 Toplinkの問題および回避方法

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

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

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

  1. 「ツール」→「プリファレンス」→「環境」を選択します。

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

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

7.7 EJBの問題および回避方法

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

7.7.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ステートレス・セッションBeanを、ステートフル・セッションBeanに変更する必要があります。

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

@Resource
EntityManager em;

を次のように変更する必要があります。

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

これにより、Webクライアントが(新しくステートフルになった)セッションBeanから返されたエンティティに対して、追加の操作を実行できるようにします。

7.7.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アプリケーションをJDeveloper 10.1.3からJDeveloper 10.1.3.1に移行するには、オンライン・ヘルプの「Oracle JDeveloperスタート・ガイド」→「Oracle JDeveloper 10gへの移行」を参照して、EJB 3.0アプリケーションのOracle JDeveloper 10gリリース10.1.3から10.1.3.1への移行に関するトピックの手順に従ってください。

7.8 Webサービスの問題および回避方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これには回避方法がありません。

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

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

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

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

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

回避方法は次のとおりです。

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

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

7.9 JavaServer Faces(JSF)の問題

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

7.9.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(./public_htmlは、ビュー・コントローラ・プロジェクトのHTMLルート)に移動した場合は、パスの値を編集して/WEB-INF/page/Test.jspxから/page/Test.jspxに変更する必要があります。

7.10 その他の問題および回避方法

この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。

7.10.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を発行してください。

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

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

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

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