1

私は、Oracle Application Server バージョン 10.1.3.0 にサード・パーティーが作成したアプリケーションをデプロイする任務を負っています。私はそれを Oracle Application Server バージョン 10.1.2.0 に問題なくデプロイしました。次のエラーが表示されます。

javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: 
No such domain/application: "etrace"; nested exception is: 
        javax.naming.AuthenticationException: No such domain/application: "etrace" 
        [Root exception is javax.naming.AuthenticationException: No such domain/application: "etrace"]
        at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:64)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)

その前に、アプリケーション コードは InitialContext オブジェクトをインスタンス化して初期化し、lookup メソッド呼び出しを実行します。渡される値は、要求されているクラスの完全修飾名 (com.ntc.tracing.app.security.EtraceAuthenticatorService) の値を持つ単なる文字列です。InitialContext オブジェクトを見ると、環境ハッシュテーブルに次のパラメーターが設定されていることがわかります。

java.naming.factory.initial: com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url: ormi://ntcdevr310g22:12401/etrace
java.naming.factory.url.pkgs: oracle.oc4j.naming.url
java.naming.security.principal: admin
java.naming.security.credentials: admin1

プロバイダーの URL、プリンシパル、および資格情報は、(コマンド ライン経由で) 私が設定します。

エラーが何を意味するのかさえ混乱しています。「不適切な」プロバイダー URL を指定するか、プリンシパルとパスを指定しないと、別のエラー (NullPointerException) が発生します。これは、ネーミング プロバイダーにアクセスしていることを示していますが、クラスが見つからないということではありません。

どんな提案でも大歓迎です。今、私は困惑しています。

4

3 に答える 3

1

アプリがデプロイされている oc4j インスタンスを指定してみてはいかがでしょうか。

ormi URL で使用できるすべてのオプションについては、http://download.oracle.com/docs/cd/B31017_01/web.1013/b28958/rmi.htm#i1084816を参照してください。期待しているものを指定していないようです。

于 2008-11-11T09:53:17.763 に答える
1

このような JDNI の問題は以前にも見たことがあります。信じられないかもしれませんが、ClassLoader が複数の JAR ファイルで目的のクラスを認識していたことが問題でした。クラス情報は問題なくロードされましたが、実際にオブジェクトをインスタンス化しようとすると、VM が鳴き、あまり役に立たない JNDI エラーで停止しました。

2 つの同じ Jar をエクスポートしていないことを確認してください。これは、おそらく OC4J の Enterprise Manager で確認できます。

幸運を!

于 2009-02-05T18:42:35.083 に答える
1

既知の事実を述べるリスクがありますが (たまたま見過ごされていました): etraceOC4J インスタンスにデプロイされた ear アプリケーションは、ディスクリプタ内の要素をjava.naming.security.principal介して JNDI ツリーへのキー アクセスでユーザー名を明示的に付与する必要があります。WebSphere からアプリケーションを移行した時期を把握するのに少し時間がかかりました。<namespace-access>orion-application.xml

于 2009-02-19T23:10:11.750 に答える