Java 从weblogic 10.2.0到jboss 6.1.0的应用程序迁移

Java 从weblogic 10.2.0到jboss 6.1.0的应用程序迁移,java,jboss6.x,Java,Jboss6.x,我是Jboss服务器的新手。我正在将J2ee应用程序从Weblogic 10.2迁移到JBoss EAP 6.1.0。迁移时,我收到以下错误消息。如果有人知道解决方案,请提供帮助 应用程序已成功部署到服务器上,但当我尝试通过localhost访问应用程序时,它会抛出NullPointerException 错误消息: 17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)java.lang.NullPointerException 17:34

我是Jboss服务器的新手。我正在将J2ee应用程序从Weblogic 10.2迁移到JBoss EAP 6.1.0。迁移时,我收到以下错误消息。如果有人知道解决方案,请提供帮助

应用程序已成功部署到服务器上,但当我尝试通过localhost访问应用程序时,它会抛出NullPointerException

错误消息:

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)java.lang.NullPointerException

17:34:16811 javax.naming.NameImpl.(NameImpl.java:264)处的错误[stderr](http localhost/127.0.0.1:8080-2)

javax.naming.CompositeName处的17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)。(CompositeName.java:214)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.jboss.as.naming.util.NameParser.parse(NameParser.java:49)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.jboss.as.naming.NamingContext.parseName(NamingContext.java:491)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.jboss.as.naming.NamingContext.lookup(NamingContext.java:183)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.jboss.as.naming.NamingContext.lookup(NamingContext.java:179)

javax.naming.InitialContext.lookup(InitialContext.java:392)处的17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于com.trifecta.pfizer.dao.UserProfileDAO.populate(UserProfileDAO.java:51)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于com.trifecta.pfizer.servlet.PfizerSiteController.doFilter(PfizerSiteController.java:394)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于com.trifecta.pfizer.servlet.PfizerSiteController.performTask(PfizerSiteController.java:163)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于com.trifecta.pfizer.servlet.PfizerSiteController.doPost(PfizerSiteController.java:546)

17:34:16811 javax.servlet.http.HttpServlet.service(HttpServlet.java:754)处的错误[stderr](http localhost/127.0.0.1:8080-2)

17:34:16811 javax.servlet.http.HttpServlet.service(HttpServlet.java:847)处的错误[stderr](http localhost/127.0.0.1:8080-2)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)

org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)上的17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)

17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)

java.lang.Thread.run(Thread.java:619)处的17:34:16811错误[stderr](http localhost/127.0.0.1:8080-2)

请帮我解决这个问题好吗

代码:


我尝试以以下方式更改初始上下文:

Properties jndiProps = new Properties(); 
                    jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); 
                    jndiProps.put(Context.PROVIDER_URL,"jnp://localhost:9990"); 
                    jndiProps.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

Context ctx = new InitialContext(jndiProps);
此外,此方法中使用的sysout语句不会显示在控制台上。

而不是使用

ctx.lookup("EJBclassName");
我们使用:

ctx.lookup("java:global/EARname/EJBprojectName/EJBclassName!AbsoluteNameOfEJBClass");

它成功了。

好吧,您还没有在这里发布任何代码。猜测一下,您仍在尝试使用
t3
初始上下文。JBoss不使用WebLogic
t3
协议,因此您需要更改执行方式。我尝试更改初始上下文。仍然存在相同的错误。因为错误包括
javax.naming.InitialContext.lookup(InitialContext.java:392)
我认为您没有正确更改它。
ctx.lookup("java:global/EARname/EJBprojectName/EJBclassName!AbsoluteNameOfEJBClass");