Java: cómo verificar si una instancia de Calendar era originalmente una fecha incorrecta

Tengo una instancia de Calendar, analizada desde XSD datetime a través dejavax.xml.bind.DatatypeConverter.parseDateTime método por JAXB.

En tiempo de ejecución, estoy en un servicio web y quiero saber si la fecha y hora xsd original era válida (mes <12, día <31, 30, 29, 28 según el mes ... ect) o no. Ejemplo: esta es una fecha válida:2015-07-30T09:32:05.543+02:00 y esto no es:2015-07-35T09:32:05.543+02:00

Traté de usarsetLenient en la instancia en el servicio web, pero no parece generar una excepción cuando la fecha original era incorrecta.

¿Hay alguna forma de hacerlo? Mi conjetura es decirle a JAXB que lo haga de la manera correcta en elglobal.jaxb archivo, aquí está el que uso ahora:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings version="2.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:xs="http://www.w3.org/2001/XMLSchema"
               jaxb:extensionBindingPrefixes="xjc">
    <jaxb:globalBindings>
        <xjc:simple/>
        <xjc:serializable uid="-1"/>
        <jaxb:javaType name="java.util.Calendar" xmlType="xs:dateTime"
                       parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
                       printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/>
    </jaxb:globalBindings>
</jaxb:bindings>

Cualquier ayuda sería apreciada. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta