There's a bug in Apache SOAP where it doesn't deserialize "1" as
"true". I wrote a test for Axis for the same bug and am including it
here. It's a patch against the latest nightly build.

I was surprised to find this bug doesn't exist in Axis. I thought
Axis, like Apache SOAP, relied on Boolean(String) to parse the XML
data - that doesn't work because Java doesn't parse "1" as true. But
the test passes, so the bug must not be there :-)

                                                     [EMAIL PROTECTED]
.       .      .     .    .   .  . . http://www.media.mit.edu/~nelson/


diff -Naur xml-axis/java/test/encoding/TestDeser.java 
xml-axis-nelson/java/test/encoding/TestDeser.java
--- xml-axis/java/test/encoding/TestDeser.java  Tue Feb  5 12:03:01 2002
+++ xml-axis-nelson/java/test/encoding/TestDeser.java   Tue Feb  5 19:36:48 2002
@@ -122,7 +122,13 @@
     }
 
     public void testBoolean() throws Exception {
+        deserialize("<result xsi:type=\"xsd:boolean\">false</result>",
+                    new Boolean(false));
         deserialize("<result xsi:type=\"xsd:boolean\">true</result>",
+                    new Boolean(true));
+        deserialize("<result xsi:type=\"xsd:boolean\">0</result>",
+                    new Boolean(false));
+        deserialize("<result xsi:type=\"xsd:boolean\">1</result>",
                     new Boolean(true));
     }
 

Reply via email to