我在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服务需要做些什么?
答案 0 :(得分:0)
java.rmi.MarshalException
的可能原因可能是因为本地类和远程类具有不同的版本。由于在marshall / unmarshall期间发生这种冲突,接收者不接受调用者的协议版本。
我建议您重新编译所有本地/远程类。希望这有帮助!