Oracle9i® JDeveloper

リリース・ノート

リリース9.0.4

2004年2月

目次

概要

Oracle9i JDeveloper(JDeveloper)は、E-BusinessアプリケーションやWebサービスに対する開発、デバッグ、デプロイを総合的にサポートするJ2EE(Java 2 Platform Enterprise Edition)開発環境です。

最大限の開発生産性を確保するため、JDeveloperは、ソース・コントロール、モデル化、コーディング、デバッグ、テスト、プロファイリング、デプロイに至る開発ライフ・サイクルを、完全にサポートするための包括的な統合ツール群を提供します。アプレット、JavaBeans、JavaServer Pages(JSP)、サーブレット、Enterprise JavaBeans(EJB)など、高性能の標準J2EEコンポーネントを開発するためのウィザード、エディタ、ビジュアル設計ツール、デプロイメント・ツールなどが提供されるため、J2EE開発が大幅に簡易化されます。また、JDeveloperは、開発環境を拡張およびカスタマイズし、他社製品とシームレスに統合するためのパブリックExtension SDKを提供しています。

このリリースの詳細は、OTN-J(Oracle Technology Network Japan)のJDeveloperのページ(http://otn.oracle.co.jp/products/jdev/)を参照してください。

スケーラブルで高性能のJ2EEアプリケーションの開発を簡略化するために、JDeveloperでは、Business Components for Java(BC4J)と呼ばれるオープンで拡張性のあるJ2EEフレームワークを提供しています。BC4Jは、SunのJ2EE設計パターンを実装しており、洗練されたJ2EEアプリケーションを開発者が短期間で構築することができます。

Oracle9iリリース2(9.2)のサポート

Oracle9i JDeveloper リリース9.0.4には、Oracle9iリリース1対応のドライバが含まれています。これらのドライバは次のデータベースと互換性があります。

Oracle9iリリース2対応のドライバは、JDeveloperリリース9.0.4へのインストールはできますが、サポートされません。

本リリースにおける制限事項

本リリースでは、次の制限事項があります。

OC4Jへのデプロイ

Oracle JDeveloper 9.0.4に含まれるOC4Jバージョン

デフォルトでは、Oracle9i JDeveloperリリース9.0.4を使用することで、埋込みOC4Jサーバーを使用してJDeveloperでJ2EEアプリケーションを十分にテストしてから、ターゲット・アプリケーション・サーバーにデプロイできます。OC4J 9.0.4埋込みサーバーは、JDeveloperの次の場所にあります。

JDeveloperにはOC4J 9.0.4も含まれています。これはスタンドアロン・モードで実行できます。OC4J 9.0.4スタンドアロン・サーバーのファイルは、次の場所にあります。

<JDev_Install>/j2ee/home

関連ファイルは次の場所にあります。

<JDev_Install>/j2ee/home/config

スタンドアロンOC4Jにアプリケーションをデプロイする場合は、リモートOC4Jに同梱されていたリモート admin.jar ファイルを使用してください。デプロイ先のOC4Jのバージョンと一致しない admin.jar を使用すると、デプロイメントが失敗する可能性があります。JDeveloperのアプリケーション・サーバー接続ウィザードを使用して接続を設定するときに、OC4Jスタンドアロン・インスタンスで正しい admin.jar を使用するようにデプロイメントを構成できます。

使用しているOC4Jのバージョンを確認するには、OC4Jインストール・ディレクトリで次のように入力します。

java -jar oc4j.jar -version

OC4Jのメモリー要件

デフォルトでは、OC4Jは、パフォーマンスを向上させるために多数のクラスを事前ロードします。このため、OC4Jをデプロイしようとして、java.lang.OutOfMemoryErrorを取得することがあります。

java.lang.OutOfMemoryErrorが発生した場合の対処方法には、次の2つがあります。

他のアプリケーション・サーバーへのデプロイ

Oracle以外のアプリケーション・サーバーにデプロイされたUIX Webアプリケーション(BC4J JSP Adminページなど)の実行に関する問題(2577293)

Oracle以外のアプリケーション・サーバーにデプロイしたUIX Webアプリケーションを実行するか、Oracle以外のアプリケーション・サーバーにデプロイしたBC4J JSPアプリケーションの「BC4J Admin」リンクをクリックすると、次のエラーが発生することがあります。

[INFO] RequestProcessor - -Processing a 'GET' for Path...
Root cause of ServletException
java.lang.NullPointerException...

このエラーが発生しないようにするには、uix-config.xmlファイルを変更する必要があります。

Adminページを含むBC4J JSPアプリケーションを実行している場合は、サーバーで次のような変更を行います。

  1. サーバーでbc4j.earファイルを探して解凍します。
  2. 抽出したwebapp.warファイルを解凍します。
  3. 抽出したWEB-INF/uix-config.htmlファイルをテキスト・エディタで開きます。
  4. <default-configuration>要素のコメント指定を解除します。
  5. <full-uri>要素の値として、ポート番号を含めてアプリケーション・サーバーのURLを設定します。
  6. <full-path>要素の値として、アプリケーション・サーバー上のcaboディレクトリの親ディレクトリの完全ローカル・パスを設定します。

    注意: caboディレクトリそのものではなく親ディレクトリを使用してください。

  7. webapp.warファイルを再パッケージします。
  8. bc4j.earファイルを再パッケージします。
  9. 変更したbc4j.earファイルを再デプロイします。

BC4J UIXアプリケーションを実行している場合は、JDeveloper内で次の変更を行います。

  1. システム・ナビゲータで、ファイルuix-config.htmlを探してコード・エディタで開きます。
  2. <default-configuration>要素のコメント指定を解除します。
  3. <full-uri>要素の値として、ポート番号を含めてアプリケーション・サーバーのURLを設定します。
  4. <full-path>要素の値として、アプリケーション・サーバー上のcaboディレクトリの親ディレクトリの完全ローカル・パスを設定します。

    注意: caboディレクトリそのものではなく親ディレクトリを使用してください。

  5. このファイルを保存し、Oracle以外のアプリケーション・サーバーに再デプロイします。

Apache Tomcat 4.1へのWebアプリケーションのデプロイ

Apache Tomcat 4.1にデプロイする場合は、BC4Jランタイム・ライブラリを、 <Tomcat_Install>/lib ではなく <Tomcat_Install>/common/lib にコピーする必要があります。詳細は、ヘルプ・トピック「WebアプリケーションのApache Tomcatへのデプロイ」を参照してください。

TomcatにデプロイしたJSPアプリケーションの問題(2615358)

Tomcatのバグのために、TomcatにデプロイしたJSPアプリケーションを実行するときに次のエラー・メッセージを受け取る可能性があります。

2つのパラメータ...または...のいずれかのみ、定義してください。

これは、Tomcatのタグ・プール・メカニズムのエラーが原因です。Tomcatはプールの後でタグを解放しないため、互換性のない属性が定義されている同一のタグを後で使用するとこのエラーが発生します。

このエラーが発生しないようにするには、Tomcatのタグ・プールを無効にする必要があります。

  1. ファイル<Tomcat_Install>/conf/web.xmlをテキスト・エディタで開きます。
  2. 次の要素を探します。
    <init-param>
      <param-name>enablePooling</param-name>
      <param-value>true</param-value>
    </init-param>
  3. <param-value>の値をfalseに変更します。

XSQL Pageの実行(1552039)

XSQL Page Processorは展開されていないWARファイルからXSQL Pageを読み込むことができないため、XSQL Pageは、WebLogic 6.1/7.0、JBoss 3.0.4、およびTomcat 4.1.12では実行できません。

WebLogicへのデプロイ時の型の非互換

BEA提供のOracleクラスを使用する場合、WebLogicにデプロイされたアプリケーションの中には、型の互換性がないものがあります。このような問題が発生しないようにするには、サーバーのlibディレクトリにあるclasses12.zipファイルおよびclasses12.jarファイルを、<JDev_Install>/jdbc/libディレクトリのclasses12.jarで置き換えます。

WebLogic 6.1におけるXMLファイルの'Windows-1252'エンコーディングの問題

WebLogic6.1は、XMLファイルの'Windows-1252'エンコーディングを認識できません。これは、WebLogic6.1のxmlparserのバグです。JDeveloperのアプリケーションをWebLogic6.1にデプロイするには、WebLogic6.1が認識するIANAエンコーディングにエンコーディングを変更します。UTF-8やShift_JISエンコーディングの使用をお薦めします。

たとえば、UTF-8エンコーディングを使用する手順は次のとおりです。

  1. JDeveloperで、「ツール」->「設定」を選択します。
  2. 「環境」パネルで「エンコーディング」フィールドを「UTF-8」に変更します。
  3. 「OK」をクリックします。

ここで、新規プロジェクトとアプリケーションを作成します。

CORBAによって実行時にJDK 1.3が要求される(2685103)

JDeveloper 9.0.4のデフォルトのJDK 1.4を使用して、Visibroker対応のCORBAアプリケーションを作成することはできますが、そのアプリケーションをデプロイまたは実行するには次の変更が必要です。

これらのオプションが必要なのは、クライアントJSPプロジェクトだけです。使い勝手をよくするために、これらをデフォルト設定で指定しておくことをお薦めします。

BC4Jに関する問題

SQLスタイルでSQL92、型マップでJavaを選択した場合の注意(2693168)

Business Components Packageウィザードのステップ2で、SQLスタイルとしてSQL92、型マップでJavaを選択した場合、ステップ3で「使用可能な表」リストに何も表示されないことがあります。この場合は、「表」チェックボックスの選択を一度解除してから、再度選択してください。

902プロジェクトのVOまたは属性名に$が含まれていると移行できない(2701773)

BC4Jプロジェクトのコンポーネント名または属性名に$という文字が含まれている場合は、JDeveloperの新しいリリースにプロジェクトを移行する前に、そのコンポーネントまたは属性の名前を変更して$を削除する必要があります。JDeveloper 9.0.3以降のリリースでは、BC4Jの名前に$を使用することはできません。

JDeveloper 9.0.4の*.jprファイルの形式には9.0.3との下位互換性がない(2682921)

以前のリリースで作成したJDeveloperプロジェクトをJDeveloper 9.0.4で開き、.jprファイルを9.0.4の形式で保存した後は、その.jprファイルを再度JDeveloper 9.0.3で開くことはできません。具体的には、9.0.3のプロジェクトにBC4Jコンポーネントが含まれている場合に、そのJPRファイルをJDeveloper 9.0.4の形式で保存した後は、JPRファイルを9.0.3で開こうとしても、プロジェクトのロードおよびビルドを正しく行うことはできません。JDeveloper 9.0.4を、このリリースのテストが目的で既存のプロジェクトに対して使用する場合は、JDeveloper 9.0.3に戻せるように、JDeveloper 9.0.3の.jprファイルのバックアップ・コピーを必ず作成してください。

空のエクスポート・インターフェースを含むBC4Jプロジェクトの移行(2676186)

この問題が発生するのは、9.0.2のBC4Jプロジェクトに空のエクスポート・インタフェースが含まれており、そのプロジェクトをJDeveloperの新しいリリースに移行しようとしたときだけです。空のエクスポート・インタフェースができるのは、アプリケーション・モジュールまたはビュー・オブジェクトの中でクライアント・メソッドをエクスポートし、その後でエクスポート・リストからすべてのメソッドを削除した場合です。このようなプロジェクトをJDeveloperの新しいリリースに移行すると、空のエクスポート・インタフェースは削除されますが、そのインタフェースを実装するクラスは削除されないので、コンパイル・エラーが発生します。

対処方法として、クラス・ファイル内のクラス宣言から、implements句(たとえばimplements EmpView)を削除します。この作業を行うのはプロジェクトの移行前と移行後のどちらでもかまいませんが、移行後に行うほうが、コンパイル・エラーから修正対象がわかるので簡単です。

EJB Entity BeanにバインドされたBC4Jプロジェクトの移行(3099781)

EJB Entity BeanにバインドされたBC4JプロジェクトをJDeveloper 9.0.4に移行する場合、システム・ナビゲータでEJBアプリケーション・モジュール・パッケージ・ノードのツリーを展開してください。このタイミングで、ejb-jar.xml<ejb-local-ref>タグが正確に更新されます。

BC4JエンティティFacadeのベースとなるEntity Beanの名前の変更(2587916)

BC4JエンティティFacadeのベースとなっているEntity Beanの名前は変更しないでください。変更した場合、デプロイメント・プロファイルが正しく変更されないため、NullPointerExceptionが発生します。

BC4JエンティティFacadeでのOracleデータベースのSYSDATEの取得(2525437)

BC4JエンティティFacadeでのgetDbCurrentTime()メソッドではJavaのシステム時刻が使用されます。これは、BC4JエンティティFacadeがSQLタイプおよび接続先データベースの情報を認識できないためです。BC4JエンティティFacadeでOracleデータベースのSYSDATEの使用が必要な場合は、getDbCurrentTime()メソッドをオーバーライドしてください。

Beanタイプをリモートからローカルへ変更しても、web.xmlの<ejb-ref>が更新されない(2589997)

EJBセッションFacadeとして設定されたBC4Jコンポーネントに対するJSPアプリケーションを作成した場合、そのプロジェクトのweb.xml<ejb-ref>エントリに設定が行われます。その後、Facadeのインタフェース・タイプをローカルとリモートの間で切り替えると、web.xml<ejb-ref>エントリを更新する必要があります。たとえば、Bean型をリモートからローカルに変更した場合は、web.xml<ejb-ref>セクションを適切な<ejb-local-ref>タグで置換する必要があります。

BC4JエンティティFacedとBC4J JSPでマルチメディア・コンテンツをアップロードするアプリケーションを作成する際の注意(2887647)

BC4JエンティティFacedとBC4J JSPで、interMediaドメイン・オブジェクトを使用してマルチメディア・コンテンツをアップロードするアプリケーションを構築するアプリケーションを構築する場合は注意が必要です。フェイルオーバー・オプションがTRUEに設定された状態で、BC4J JSPアプリケーションがステートフル・モードで実行中の場合、アップロードに失敗します。

移行に関するドキュメントでのqViewからgetRowSetへの変更(2723075)

移行に関するドキュメントの中のqViewは、getRowSetに読み替えてください。

ドキュメントがBC4Jの「ウィザード」を参照している

コンポーネント・エディタで「ヘルプ」をクリックしたときに表示されるヘルプ・ドキュメントでは、「ウィザードまたはエディタ」とすべき箇所が「ウィザード」というコンポーネントになっています。たとえば、エンティティ・オブジェクト・エディタで「ヘルプ」をクリックしたときに表示されるヘルプ・テキストのタイトルは「エンティティ・オブジェクト・ウィザード」となっていますが、本来は「エンティティ・オブジェクト・ウィザードおよびエディタ」となるべきものです。

VBバインド・モードにおいてOC4JでBC4J JSPを実行できない(2594776)

BC4J CORBAサーバーにアクセスするときは、ORBを初期化する前に、いくつかのプロパティを設定する必要があります。これらのプロパティは内部的に設定されますが、OC4Jが起動時にORBを初期化するため、それでは遅すぎます。

対処方法として、次のシステム・プロパティをOC4Jコマンドラインに手動で追加します。埋込みサーバーを使用している場合は、埋込みOC4Jインスタンスが起動されるプロジェクトのVM設定にこれらを追加します。

-Dorg.omg.CORBA.ORBclass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonclass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.Utilclass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Djavax.rmi.CORBA.PortableRemoteObjectclass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl

Business Component Browserでヘルプが利用できないときがある

Business Component Browserからヘルプ・システムにアクセスできるのは、アプリケーション・モジュールを右クリックして「テスト」を選択するという方法で起動した場合だけです。モデル・プロジェクトを実行、デバッグまたはプロファイルしてBusiness Component Browserを起動した場合は、ヘルプは利用できません。

jbo.debugoutputプロパティで、fileという値を設定できる

ドキュメントには、jbo.debugoutputにsilent、consoleおよびrouting_classnameという値を設定できると記載されていますが、これに加えて、fileという値を設定して、テキスト・ファイルにBC4Jのデバッグ情報を記録することもできます。

BC4J Struts JSPアプリケーション・ウィザード実行時の注意(2888538)

BC4J Struts JSPアプリケーション・ウィザードは、struts-config.xmlの既存の<message-resources>タグを削除し、かわりにデフォルト・パッケージのApplicationResources.propertiesを参照するよう記述します。このため、デフォルト・パッケージ以外のApplicationResources.propertiesを参照する<message-resources>タグは、ウィザード完了後に再登録する必要があります。

または、BC4J Struts JSPアプリケーション・ウィザードは空のプロジェクトで実行し、その後、必要に応じて<message-resources>タグを追加するようにしてください。

アクティブでないトランザクションがトランザクション境界を横断して維持できない(3099314)

フェイルオーバーやアプリケーション・モジュール・プーリングなどによってアプリケーション・モジュールのトランザクション状態が受動化(パッシベート)されている場合でも、そのトランザクションがコミットまたはロールバックされると、受動化された状態のログが削除されます。このため、コミットまたはロールバックの後でこれらを活性化(アクティベート)するとJBO-28039などのエラーが発生します。

マルチバイトのアプリケーション・モジュール名における問題(3189695)

マルチバイトを用いてアプリケーション・モジュール名を付けると、それを利用するJSPやuiXMLアプリケーションで、次のようなエラーが発生します。

java.lang.IllegalArgumentException: Cookie name jbo.ApplicationCookie.xxxx is a reserved token

アプリケーション・モジュール名にはシングルバイトを使用してください。

BC4Jのクライアント開発時のプロジェクトの構成(3273558)

BC4Jコンポーネントに対し、異なるタイプの複数のクライアント(たとえばJClientとBC4J JSP)を作成する場合は、それぞれ別のプロジェクトに作成することを推奨しています。

現在、JClientとその他のWebクライアント(BC4J JSP、BC4J Struts、BC4J UIX JSPなど)を同一のプロジェクトに作成した場合に、JDeveloperがフリーズしたような状態になることが報告されています。

EJBに関する問題

埋め込みOC4JサーバーによるEJB実行時の注意(2096700、2591173)

CMP Entity Beanを持つEJBアプリケーションをJDeveloperの埋込みOC4Jサーバーで実行しようとしたときに、アプリケーションを格納するワークスペースに複数のプロジェクトがあると、エラーが発生することがあります。エラーが発生しないようにするには、出力ディレクトリ・パスがプロジェクトごとに異なっていることを確認し、名前が衝突しないようにします。出力ディレクトリ・パスを指定するには、プロジェクトを選択して「プロジェクトの設定」->「構成」->「開発」->「パス」を右クリックし、同じワークスペース内の他のプロジェクトとは異なるディレクトリ名を、「出力ディレクトリ」テキスト・フィールドで指定します。

JClientに関する問題

JTreeにバインドされたデータ値の編集(2061405)

JTree コントロールを使うことで、BC4Jデータをツリー上に表示できます。ここで、プロパティ・インスペクタから「Editable」「True」に設定することができますが、JTreeからのデータ値の編集はサポートされていません。

EJBモードのJClientアプリケーションのJava Web Start 1.2による実行(2699458)

リソースJ2EE/HOME/LIB/JAAS.JAR内に署名付きエントリがないため、WebStart 1.2で実行されるEJBモードでは、JClientアプリケーションを実行できません。

MIMEタイプの問題のためにIE 5.5でWebstartが起動しない(2573655)

JClient Web Startウィザードで生成されたlocal.jspリンクを使用して、Internet Explorer 5.5でJClient Webstartアプリケーションを実行しようとすると、Java Web Startが起動しません。かわりに、ファイルを開くようにIE 5.5から求められます。

対処方法として、レジストリ・エディタ(regedit.exe)を使用して新しいMIMEタイプを作成し、それを.jnlp拡張子に関連付けます。たとえば、レジストリ・エディタで、「HKEY_CLASSES_ROOT」->「MIME」->「Database」->「Content Type」->「application/x-java-jnlp-file」を探し、プロパティExtensionを値.jnlpに設定します。

JSpinnerコントロールがサポートするデータ型(2738858)

手数料のような整数フィールドを表示するために、Spinnerコントロールを使用して整数値をすべて順に表示できるようにするには、SpinnerNumberModelを使用して値、最小値、最大値および刻みを表します。

ただし、BC4Jでは、数値属性のデフォルトのマッピングはoracle.jbo.domain.Numberとなっています。現時点では、JUSpinnerBindingでサポートされている型は、DoubleFloatLongIntegerShortByteだけです。

したがって、基礎となる属性をjava.lang.Integerにマッピングする必要があります。

JClientアプリケーションをJava Web Startを使用してデプロイするための追加手順

JClientアプリケーションをJava Web Startを使用してデプロイするためには、いくつかの追加手順が必要です。詳細はOTN-J(Oracle Technology Network Japan)で公開されている『JClientアプリケーションのJava Web Startによるデプロイ』(http://otn.oracle.co.jp/products/jdev/index.html)を参照してください。

ソース・コントロール・サポートに関する問題

Oracle SCM: Oracle9i SCM RONとは共有されないフォルダ・マッピング

Oracle SCM Repository Object Navigator(RON)を使用してファイル・システムへのダウンロードまたはファイル・システムとの同期化が行われたとしても、そのままではJDeveloperでは、ダウンロードされたファイルが認識されません。RONにより格納されたマッピング情報は、JDeveloperでは直接利用できないためです。

Oracle SCMで管理されたファイルをファイル・システムへダウンロードし、JDeveloperで使用するには、次のようにします。

Oracle SCM: JDeveloper上で起動されるVHVからの操作

JDeveloper上から起動されるVersion History Viewer(VHV)からは、ファイルのマージ、チェックインまたはチェックアウトといったソース・コントロール操作を行わないでください。

Oracle SCM: Oracle Repository 6iへの接続

Oracle JDeveloperは、Oracle9iDSリリース2(9.0.2)以降に含まれるOracle9i Software Configuration Managerで機能することが保証されています。Oracle JDeveloperでは、Oracle Repository 6i(6.5.69)以上との接続は不可能ではありませんが、組合せとしては保証されていません。

Oracle SCM: SCMツール上の日付データの書式の設定(1685812)

Version History Viewer、Version Event ViewerなどのSCMツール上にはチェックインに日付情報が表示されます。この日付データの書式を変更するには、次のようにします。

  1. jdev/repository.ora をテキスト・エディタで開きます。
  2. 次のエントリを追加して、日付型データの書式を指定します。
    repos61.date_format=YYYY-MM-DD

モデル化に関する問題: 一般

モデル要素およびダイアグラムのファイルにおけるソース・コントロール操作の実行(2211605)

モデル要素またはダイアグラムのファイルをソース・コントロール・システムで管理している場合、それらの情報をディスクに書き込んだ後でソース・コントロール操作を実行することをお薦めします。モデル要素またはダイアグラムのファイルがメモリーにしかない状態(ディスクに保存されていない状態)でソース・コントロール操作を実行すると、メモリーに保持されている情報がディスクにある情報で上書きされる可能性があります。モデル要素またはダイアグラムのファイルが不整合をおこさないために、ディスクに保存した後で、ソース・コントロール操作を実行することをお薦めします。

インストール・ディレクトリの名前にスペースが含まれている場合の起動時例外(2709528)

JDeveloperをインストールしたディレクトリの名前にスペースが含まれている場合は、起動時に例外が発生し、新しいUMLダイアグラムを作成することができません。

モデル化に関する問題: Javaクラス、BC4JまたはEJBコンポーネントのモデル化

モデル化されたJavaクラスの削除(2706800)

他のJavaクラスへの関連を持つモデル化されたJavaクラスをナビゲータから削除しても、その関連はモデルからは削除されません。このような孤立した関連をダイアグラム上にドラッグすると、例外がスローされます。このことを回避するには、関連を持つモデル化されたJavaクラスを削除するときに、ダイアグラムから削除します。

Webサービスに関する問題

モデル化されたWebサービスのメソッド名の変更(2702659)

JavaクラスおよびWebサービスをUMLモデリングによって作成した後でメソッド名を変更すると、Javaクラスのモデルには新しいメソッド名が表示されますが、Webサービスのモデルには表示されません。

このメソッドをWebサービスとして公開するには、モデル化されたWebサービスをダブルクリックし、「公開するメソッド」ページでメソッドを選択して「OK」をクリックします。

SOAP Webサービスが新規セッションを開始しない(2218102)

スコープがsessionのSOAP Webサービスに対して、異なるクライアントがアクセスしても期待どおりに新規セッションが開始しないことがあります。

OC4JでのJMS Webサービスの使用

OC4J/JMSは、Oracle9iAS 9.0.3またはOC4J 9.0.3ではサポートされていません。OJMSは、データベース内のOracle AQに対するJMSインタフェースであり、OracleのJ2EE 1.3準拠のJMSプロバイダです。

OC4J 9.0.3またはOracle9iAS 9.0.3にデプロイされたJMS Webサービスを実行するには、JMS実装をOJMSに渡すようにOC4Jを構成する必要があります。詳細は、Oracle Technology Network の『Oracle9iAS Containers for J2EE - Java Message Service FAQ』(http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-JMS-FAQ.html)を参照してください。

送信操作と受信操作を使用するJMS Webサービスの作成

送信操作と受信操作の両方を使用するJMS Webサービスを作成するときは、Webサービス・クライアントが同じ宛先に対して送受信する必要があることが確かでないかぎり、送信方向と返信方向について別の接続ファクトリと宛先を明示的に指定する必要があります。

JMS Webサービス・ウィザードのステップ3で、「受信操作で別のJMS宛先を使用」を選択し、受信操作の接続ファクトリと宛先を入力します。送信操作とは別の接続ファクトリと宛先を設定する必要があります。

JDK 1.4でのPL/SQL Webサービス・ジェネレータの実行

PL/SQL Webサービス・ジェネレータが、JDK 1.4において正常に動作するには、OracleのJDK 1.4固有のJDBCドライバを使用して実行する必要があります。これらは、OTN-J(Oracle Technology Network Japan)(http://otn.oracle.co.jp)からダウンロードし、<JDev_Install>/jdbc/libディレクトリに解凍してください。

JDeveloperがJDK 1.4 JDBCドライバを使用するように構成するには、<JDev_Install>/jdev/bin/jdev.confファイルを修正する必要があります。次のように変更します。

AddJavaLibFile ../../jdbc/lib/classes12.jar

この行を次の行で置き換えてください。

AddJavaLibFile ../../jdbc/lib/ojdbc14.jar

これにより、JDeveloperはすべてのJDBC操作でJDK 1.4リリースのJDBCドライバを使用します。

生成されたスタブからWebサービスをコールするときのランタイム・エラー(2389203)

スタブ・クライアントからWebサービスをコールしたときに次のようなランタイム・エラーを取得することがあります。

[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize 
a &apos;:return&apos; using encoding style 
&apos;http://schemas.xmlsoap.org/soap/encoding/&apos;.; 
targetException=java.lang.IllegalArgumentException: No Deserializer found to 
deserialize a ':return' using encoding style 
'http://schemas.xmlsoap.org/soap/encoding/'.]

これは、戻り値(上記例では'return')が認識されないXML型であることを意味しています。この場合、コマンドを追加してXML型を適切な型にデシリアライズする必要があります。次のコマンドは、String にデシリアライズするコード例です。

m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, 
               new QName("", "return"),
               null, 
               null, 
               new org.apache.soap.encoding.soapenc.StringDeserializer());

PL/SQLおよびJMS Webサービスのモデル化(2466833)

クラス・ダイアグラム上には、PL/SQLまたはJMS Webサービスを表示することはできません。

オーバーロードされたメソッドを持つ.NET Webサービスに対するスタブの生成(2689939)

同じ名前のメソッドが複数含まれる.NET Webサービスに対して生成されたスタブにはメソッドが1つしか存在しません。次に例を示します。

public Float Add(Float a, Float b) throws Exception;

スタブを手動で編集して、オーバーロードされたメソッドを追加する必要があります。次に例を示します。

public Float Add(Float a, Float b) throws Exception;
public Integer Add(Integer a, Integer b) throws Exception;

JDeveloperのインストール・パスにスペースがある場合に生成されたWebサービス・スタブ(3068701)

JDeveloperをインストールしたパスのフォルダのいずれかの名前にスペースが含まれている場合に、Webサービスを生成して、埋込みOC4Jサーバーで、またはOC4Jサーバーの外部インスタンスで実行すると、そのWebサービスをコールしたときにWebサービスへのスタブが異常終了します。

対処方法として、フォルダ名にスペースが含まれていないパスにJDeveloperをインストールします。

他のWSDLファイルを参照するWSDLファイルに対するスタブの生成(2627242)

別のWSDLファイルを参照またはインポートするWSDLファイルに対してスタブを生成する場合、Webサービス・スタブ/スケルトン・ウィザードは参照またはインポートの対象となるWSDLファイルを無効と誤認するため、終了できません。

UNIXプラットフォームの問題および対処方法

「コード・インサイト」リストでマウスをクリックしても選択できない(2671418)

Solarisで、「コード・インサイト」からの選択にマウスを使用すると、「コード・インサイト」リストが消去され、選択内容が失われます。対処方法として、「コード・インサイト」から選択するときはキーボードを使用します。

Sun Javaバグ4751177: エラー・メッセージの無視

UNIXでJDeveloperを実行したときに、次のメッセージが表示されるかもしれませんが、これは無視しても問題ありません。

java.lang.SecurityException: Could not lockSystem" or "Oct 23, 2002 4:16:55 PM 
java.util.prefs.FileSystemPreferences
checkLockFile0ErrorCodeWARNING: Could not lock System prefs.Unix error code 0.Oct 
23, 2002 4:16:55 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs:
java.util.prefs.BackingStoreException:
Couldn't get file lock.

これらのエラーは、JDK 1.4の新しいシステム設定機能によって引き起こされるものです。詳細は、Sun Javaバグ4751177を参照してください。

Solarisのみ: 表ウィザードでEntity Bean内のデータベース・オブジェクトを表示しようとすると、長い時間がかかる(2691427)

表ウィザードでEntity Bean内のデータベース・オブジェクトを表示するときに、非常に時間がかかることがあります。この事象は一般的に、ワークスペースが空で、IDE内でデータベース接続が定義されていない場合に発生します。対処方法として、データベース・オブジェクトの表示を待っているウィザード・パネルの「戻る」ボタンをクリックし、「次へ」ボタンをクリックします。これで、使用可能な表がすべて表示されます。

JPEGまたはPNGとしてダイアグラムをリモートでSolaris上に公開(3142729)

JPEGまたはPNGのグラフィックとして、ダイアグラムをリモートでSolarisコンピュータに公開すると、ダイアグラム公開処理が終了するまでに時間がかかり、JDeveloperがフリーズしたように見える場合があります。対処方法として、公開処理をSolarisコンピュータで直接実行するか、ダイアグラムをSVGとして公開します。

その他の問題

PL/SQLのコンパイル・エラーが表示されない(2688533)

PL/SQLユニットの名前にスキーマ名が含まれている場合、または名前が引用符で囲まれている場合、あるいはその両方の場合は、JDeveloperの「ログ」ウィンドウにコンパイル・エラーが表示されません。たとえば、コードは次のように記述する必要があります。

PROCEDURE my_proc IS

次のような記述は避けてください。

PROCEDURE scott.my_proc IS

または

PROCEDURE "MY_PROC" IS

列の使用可能な値に対して、表示順序の指定が必要(2717508)

JDeveloperモジュールの導出元であるDesigner表定義の中で、使用可能な値が列に含まれ、その表示順序プロパティがNULLに設定されている場合は、生成されたJDeveloperモジュールは無効になります。

JDeveloper 9.0.4を使用する場合、表示順序プロパティにはNULL以外の値を指定する必要があります。この指定は、Oracle Designerのプロパティ・パレットで行います。

JDeveloper 9.0.5ではこの動作が変更され、表示順序プロパティの値としてNULLも使用できるようにする予定です。

Toystoreデモに含まれる古いbc4jstruts.jarファイル

JDeveloper付属のToystoreデモには、bc4jstruts.jarというファイルが含まれています。このbc4jstruts.jarは古いので、このファイルを更新しなければデモは正しく動作しません。

このファイルを更新するには、プロジェクトからこのファイルを削除し、<JDev_Install>/BC4J/jlibにあるbc4jstruts.jarに置き換えます。

コンテキスト・メニュー「ソースを表示」が動作しなくなる(3146584)

依存性の表示ウィンドウで、要素のコンテキスト・メニュー「ソースを表示」は動作しなくなります。かわりに、Java要素に対する適切なエディタを起動する項目をダブルクリックします。

JDeveloperの埋め込みブラウザの文字化けの解消(2670389)

JDeveloperでHTMLやJSPのプレビュー、Javadocの参照時に使用する埋め込みブラウザは、HTMLソースでのフォントの指定の方法によって、マルチバイト文字が正しく表示されないことがあります。

たとえば、次のようなHTMLは、マルチバイト文字が正しく表示できません。

<font style="font-family: Arial, Helvetica, sans-serif">マルチバイト文字</font>

この問題は、<JDev_Install>/jdev/bin/jdev.confで、次の行のコメントを外すことで解消されます。

AddVMOption -Dice.pilots.html4.ignoreNonGenericFonts=true

JDeveloperから起動されるSQL*Plusでの日本語の文字化け

JDeveloperから起動されるSQL*Plusで日本語が文字化けする場合が発生する可能性があります。これは、JDeveloperから起動される際に適切なリソースファイルを参照できていないためです。この場合、コンソールからの実行時もしくは <JDev_Home>/jdev/bin/jdevスクリプトに環境変数 XAPPLRESDIR を設定してください。

Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065, USA
http://www.oracle.com

Worldwide Inquiries:
1-800-ORACLE1
Fax 650.506.7200

Copyright and Corporate Info