方法标识符[29]超出范围错误

时间:2013-10-17 21:50:04

标签: java maven java-ee

我有一个存在于Weblogic 10.3中的EJB。我们将其移至12c并修改了构建以使用maven-plugin来创建EJB客户端和EJB(2个独立的构建)。

有一个Java应用程序需要通过远程接口调用EJB。在这样做时,有两种方法会产生以下错误(其余方法工作正常):

java.rmi.UnmarshalException: Method identifier [29] out of range
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:290)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:248)
    at net.footware.shoeManager.ShoeManager_xwmvzk_EOImpl_1211_WLStub.updateShoeStatus(Unknown Source)

另一种方法给出了相同的错误,但编号不同:

java.rmi.UnmarshalException: Method identifier [28] out of range

值得注意的是,客户端jar和EJB jar是在2个不同的pom.xml文件中构建的。构建客户端的pom.xml显式排除了某些类,而构建EJB jar的pom.xml却没有。

这不是简单地错过了方法,因为它会发回“Method Not Found”错误。我还简化了返回true的方法(没有其他逻辑)。看来呼叫永远不会到达远程方法中的代码。还有其他方法可以获取并返回相同的对象,并且不会抛出错误。

当我创建一个接受布尔值的新方法时,我收到了这个错误:

Caused by: java.io.StreamCorruptedException: invalid type code: 04

知道什么可能导致这些错误吗?

0 个答案:

没有答案