我的XSD
文件只定义了5种类型:
<xs:simpleType name="Types">
<xs:restriction base="xs:string">
<xs:enumeration value="TypeA" />
<xs:enumeration value="TypeB" />
<xs:enumeration value="TypeC" />
<xs:enumeration value="TypeD" />
<xs:enumeration value="TypeE" />
</xs:restriction>
</xs:simpleType>
但是说用户发送的“TypeF
”不是有效类型,那么unmarshalling
使用jaxb完全忽略该值,我想验证此值并向用户发送不良请求异常。
如果用户在XML
中放入了无效的类型,我怎么能确保它不会被忽略?
答案 0 :(得分:0)
您可以在ValidationEventHandler
上指定Unmarshaller
的实例,并在handleEvent
方法上返回false,以使JAXB在无效值上失败。