这个是我的业务接口package com.helloworld;import java.util.Date;public interface HelloWorldRemote {
public String getAuthor();
public String getVersion();
public Date getDate();
public String getUUID();
}
Bean
package com.helloworld.bean;import java.util.Date;
import java.util.UUID;import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Remote;
import javax.ejb.Stateless;import com.helloworld.HelloWorldRemote;@Stateless
@Remote (HelloWorldRemote.class)
public class HelloWorldBean implements HelloWorldRemote { @PostConstruct
public void postConstruct() {
System.out.println(this.getClass().getName()+"被初始化!");
}

@PreDestroy
public void destory() {
System.out.println(this.getClass().getName()+"被销毁!");
}

public String getAuthor() {
return "tyo";
} public Date getDate() {
return new Date();
} public String getUUID() {
return UUID.randomUUID().toString();
} public String getVersion() {
return "v1.0";
}
}然后在另一个Web工程的Servlet里面调
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
HelloWorldRemote h = null;
try {
Context context = new InitialContext();
h = (HelloWorldRemote)context.lookup("HelloWorldBean/remote");
} catch (NamingException e) {
e.printStackTrace();
}
out.flush();
out.close();
}两个工程部署在一个jboss4.2应用服务器里面。
但是运行的时候总是报错,弄了好多次了还是一样。之前我弄的时候没有报错,都是这样写的。java.lang.ClassCastException: $Proxy65 cannot be cast to com.helloworld.HelloWorldRemote
    com.helloworld.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:44)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
麻烦老鸟帮忙解决一下,谢谢。

解决方案 »

  1.   

    我想应该和HelloWorldBean的UUID有关
      

  2.   

    看看ejb一套的什么home啊的类,看看一致吗
      

  3.   

    @Stateless(name="userService")
    @Remote
    我写的时候使用的是这样的方式注解调用的时候
    (UserService)context.lookup("userService/remote");参考下?
      

  4.   

    很郁闷的问题了..没设置Properties,但是运行在同一个应用服务器,按理说应该是不用的啊.会自动取系统属性里面的值啊...为什么没有呢!!!郁闷了.
      

  5.   

    @Remote (HelloWorldRemote.class)
    接口也要有