从tomcat中的客户端在jboss中运行ejb服务需要做些什么

时间:2014-05-29 09:20:26

标签: java web-services jboss ejb tomcat6

我在Tomcat中运行的项目中使用了2个JBOSS ejb服务。当我运行我的项目时,会发生异常,

Caused by:java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception is: 
    java.io.OptionalDataException
    at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:306)
    at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
    at org.jboss.remoting.Client.invoke(Client.java:525)
    at org.jboss.remoting.Client.invoke(Client.java:488)
    at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:184)
    at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
    at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
    at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
    at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:68)
    at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:184)
    at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
    at com.sun.proxy.$Proxy34.create(Unknown Source)
.....

请告诉我为什么会发生这种情况。在tomcat中从客户端运行jboss中的ejb服务需要做些什么?

1 个答案:

答案 0 :(得分:0)

java.rmi.MarshalException的可能原因可能是因为本地类和远程类具有不同的版本。由于在marshall / unmarshall期间发生这种冲突,接收者不接受调用者的协议版本。

我建议您重新编译所有本地/远程类。希望这有帮助!