DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21240>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21240 Axis Types that extend BigInteger are not serializable Summary: Axis Types that extend BigInteger are not serializable Product: Axis Version: 1.1 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Serialization/Deserialization AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The Axis types that extend BigInteger (NonNegativeInteger, PositiveInteger, NonPositiveInteger and NegativeInteger) are not serializable. A stack trace of this problem follows: Exception in thread "main" java.lang.NullPointerException at java.math.BigInteger.readObject(Unknown Source) at java.lang.reflect.Method.invoke(Native Method) at java.io.ObjectInputStream.invokeObjectReader(Unknown Source) at java.io.ObjectInputStream.inputObject(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at MySerial2.main(MySerial2.java:35) I tested this using a very simple java client: import java.net.URL; import java.io.ObjectOutputStream; import java.io.ByteArrayOutputStream; import org.apache.axis.types.NonNegativeInteger; import java.util.Calendar; import java.io.ObjectInputStream; import java.io.ByteArrayInputStream; import java.io.*; import java.math.*; public class MySerial2 implements java.io.Serializable { public static void main(String args[]) throws Exception { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(new NonNegativeInteger("1")); baos.close(); oos.close(); byte[] myBytes = baos.toByteArray(); ByteArrayInputStream bais = new ByteArrayInputStream(myBytes); ObjectInputStream ois = new ObjectInputStream(bais); Object myObj = ois.readObject(); if (myObj instanceof NonNegativeInteger) { NonNegativeInteger nni = (NonNegativeInteger) myObj; System.out.println("Successful"); } } catch (IOException e) { e.printStackTrace(); } } } It appears to me that the BigInteger has private methods for serialization and that the Axis types don't have access to them.
