我的任务是在 Oracle 应用服务器版本 10.1.3.0 上部署由第三方构建的应用程序。我已经将它部署在 Oracle 应用服务器版本 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 对象并执行查找方法调用。它传递的值只是一个字符串,其值为被请求的类的完全限定名称 (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)。这告诉我它正在访问命名提供程序,但并不是说它找不到类。
任何建议将不胜感激。现在我被难住了。