StreamCorruptedException is reported when trying to do RMI between a 1.5 JVM (RMI Server) and 1.4 JVM (RMI client). This occurrs when the Object being returned via the RMI calls is DSAPublicKey or contains an object of type DSAPublicKey. This happens when stubs are generated with/without using "-vcompat" flag. The RMI call works if we remove the DSAPublicKey field from the Object or set it to null. The exact stack trace is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.StreamCorruptedException at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164) at PKServiceServer_Stub.getPK(Unknown Source) at PKServiceClient.main(PKServiceClient.java:31) Caused by: java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1301) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:297) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:146) ... 2 more ###@###.### 2005-2-24 05:34:09 GMT
|