学习EJB3,用MyEclipse9开发了简单例子,EJB工程的web和ejb部分发布到jboss6下完全能正常运行,但是把web发布到tomcat7下调用jboss6下的ejb应用时出现了错误
java.lang.ClassCastException: javax.naming.Reference cannot be cast to com.ejb3.HelloWorld我已经把ejb接口class文件复制到tomcat web项目的classes目录下,并把ejb所依赖的相应jar包复制到web项目的lib目录下(复制的jar包是从jboss client目录下复制的,但不全"jboss-aop-client.jar","jboss-aspect-jdk50-client.jar","jboss-ejb3-common-client.jar","jboss-ejb3-core-client.jar","jboss-ejb3-ext-api-impl.jar","jboss-ejb3-ext-api.jar","jboss-logging.jar","jboss-remoting.jar","jbossall-client.jar","jnp-client.jar","log4j.jar")
java.lang.ClassCastException: javax.naming.Reference cannot be cast to com.ejb3.HelloWorld我已经把ejb接口class文件复制到tomcat web项目的classes目录下,并把ejb所依赖的相应jar包复制到web项目的lib目录下(复制的jar包是从jboss client目录下复制的,但不全"jboss-aop-client.jar","jboss-aspect-jdk50-client.jar","jboss-ejb3-common-client.jar","jboss-ejb3-core-client.jar","jboss-ejb3-ext-api-impl.jar","jboss-ejb3-ext-api.jar","jboss-logging.jar","jboss-remoting.jar","jbossall-client.jar","jnp-client.jar","log4j.jar")
解决方案 »
- Spring集成XFire出错问题
- 问几个WEB应用时候考虑的问题,经验丰富的高手来
- myeclipse 启动tomcat服务时
- 我们老师现在竟然在教我们struts1问起原因说是怕直接讲struts2大家不好理解。这是为何
- ssh开发中的一个小错误
- servlet通过objectoutputstream向applet传对象是出错
- 在用ibatis的时候,把sql语句写在配置文件里。现在碰到一个问题,就是能不能直接执行一个sql不是写在配置文件里面的,是用其他脚本语言拼
- 刚安装完jb8的问题?
- CMP2.0+WebLogic6.1环境下可以实现EJB-QL的动态创建吗?
- 怎么我的Jbuilder6中不能新建EJB了?
- java中如何将字符串的编码从utf-8转换成gbk而且不会产生乱码(超过字符集的可以是?)
- 跪求thinking in java4 中文版。
jboss外部jndi调用挺麻烦的 还要配置文件和jboss一些设置的
这有啥麻烦的TOMCAT放JSP页面 JBOSS上EJB EJB去找DB
注意的是TOMCAT下要放好JDNI的配置文件里面的配置好JBOSS的IP地址
JBOSS上要开放IP地址让TOMCAT来访问
我估计你是JBOSS没有对外网开放。
<%@ page language="java" import="java.util.*"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="com.foshanshop.ejb3.HelloWorld, javax.naming.*, java.util.Properties"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><%
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ctx;
try {
ctx = new InitialContext(props);
HelloWorld helloworld = (HelloWorld) ctx.lookup("myejb/HelloWorldBean/remote");
out.println(helloworld.SayHello("哈哈"));
} catch (NamingException e) {
out.println(e.getMessage());
}
%>
<use-java-context>false</use-java-context>
不然也不能从外部访问
你说的JNDI配置文件在什么目录下有?文件名叫什么?