There are certain illegal values of an xs:boolean that return false when they should return null, namely values that start with t and f. In addition, if the string literals "t" and "f" are passed in, this will cause an unmarshalling error: Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:203) [rt.jar:1.7.0_55] at java.lang.StringBuilder.charAt(StringBuilder.java:72) [rt.jar:1.7.0_55] at com.sun.xml.bind.DatatypeConverterImpl._parseBoolean(DatatypeConverterImpl.java:260)
Upstream Jira: https://java.net/jira/browse/JAXB-1019
Verified on 6.3.1.CP.CR1 Reproducers from customer case were used.