2011-08-23 27 views
5

Tôi có một lược đồ XML, nơi yếu tố Calling1 được định nghĩa như thế này:JAXB không ném một Lỗi trên sai dateTime giá trị

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

Tôi đã tạo ra các ràng buộc JAXB:

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

tôi đang sử dụng JAXB cho các tài liệu XML bất đối xứng để trình bày Java. Nếu cantains XML yếu tố tôi Calling1, mà giá trị không phải là một datetime đúng, ví dụ

<Calling1>NOT_A_DATETIME</Calling1> 

JAXB không ném bất kỳ lỗi, nhưng trả về cho tôi một đối tượng java, mà tài sản calling1 là null.

Tại sao tôi nhận được null và không phải là Lỗi? Làm thế nào tôi có thể thay đổi hành vi Jaxb đó?

Trả lời

4

Bạn đã đặt giản đồ trên Unmarshaller bằng cách gọi setSchema? Bạn sẽ cần chỉ định tệp xsd cũng như URI NS Schema để xác thực sẽ diễn ra

+0

Cảm ơn! Nó thật sự có hiệu quả! – never

+0

bạn được chào đón :) – Bhaskar

Các vấn đề liên quan