2011-08-23 9 views
5

Mam schematu XML, gdzie elementem Calling1 jest zdefiniowany następująco:JAXB nie rzuca błąd na niewłaściwym dateTime wartości

<xsd:element name="Calling1" type="xsd:dateTime"> 

mam generowane powiązań JAXB:

<xjc extension="true" schema="${basedir}/message.xsd" 
    destdir="${basedir}/src" package="org.test"/> 

I używam JAXB do niemarkowych dokumentów XML do reprezentacji Java. Jeśli moja cantains XML elementem Calling1, których wartość nie jest prawidłowa dateTime, na przykład

<Calling1>NOT_A_DATETIME</Calling1> 

JAXB nie wyrzuca żadnego błędu, ale zwraca mi obiektu Java, który nieruchomość calling1 jest null.

Dlaczego otrzymuję zero, a nie błąd? Jak mogę zmienić zachowanie Jaxb?

Odpowiedz

4

Czy ustawić schemat na swoim Unmarshaller dzwoniąc pod numer setSchema? Będziesz musiał określić plik xsd oraz identyfikator URI protokołu Schema NS, aby walidacja odbyła się:

+0

Dzięki! To naprawdę działa! – never

+0

serdecznie zapraszamy :) – Bhaskar

Powiązane problemy