我在 weblogic 上部署了一个 ejb。我能够通过一个简单的 java 客户端成功获取远程引用。但是,当我通过我的 Web 应用程序访问 ejb 时,它会引发以下异常:
javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: HTTP/1.1 404 Not Found]]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:783)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:367)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
我不确定为什么协议是 HTTP,我使用的是 t3。这是我的代码:
Properties serverProperties = new Properties();
serverProperties.put("java.naming.provider.url", "t3://localhost:3080");
serverProperties.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
InitialContext context = new InitialContext(serverProperties);