EJB中的参数和返回值类型必须是原始类型.seralizable(序列化)类型或者Remote类型!

解决方案 »

  1.   

    是说没序化,但说的是org.jboss.tm.TransactionImpl,这跟我的代码没关系啊。
    另外,调用的代码放在JSP里是成功的,所以不是类型和参数的问题。
    好像是配置或者EJB调用EJB有什么说法的问题。
      

  2.   

    你调用的是local接口的还是remote接口啊?
    两个ejb是不是在一个ear中啊?
      

  3.   

    org.jboss.tm.TransactionImpl,这跟你的代码有关系。jboss当然要继承你编写的bean,所以会加入一些变量.在jsp中是成功的?晕!把你的应用程序结构列出来!
      

  4.   

    参数和返回值需要实现seralizable接口
      

  5.   

    是啊。
    就是ejb调用ejb的问题,其它原因都排除了,网上有好多人碰到,但都没解决。求
      

  6.   

    看看这段话:
    A MarshalException is thrown if a java.io.IOException occurs while marshalling the remote call header, arguments or return value for a remote method call. A MarshalException is also thrown if the receiver does not support the protocol version of the sender. If a MarshalException occurs during a remote method call, the call may or may not have reached the server. If the call did reach the server, parameters may have been deserialized. A call may not be retransmitted after a MarshalException and reliably preserve "at most once" call semantics.
      

  7.   

    我猜想原来你原来用JSP调用EJB时是在同一个JVM里,调用的是本地接口
    你后来用EJB调EJB当然是不同的JVM如果是这样的话那是因为本地接口的调用不需要将对象序列化的
    所以JSP调EJB时不会出错不知道我说的对不对