【发布时间】:2015-07-30 07:30:25
【问题描述】:
我有一个 Calendar 实例,通过 JAXB 的 javax.xml.bind.DatatypeConverter.parseDateTime 方法从 XSD 日期时间解析。
在运行时,我在 Web 服务中,我想知道原始 xsd 日期时间是否有效(月 2015-07-30T09:32:05.543+02:00 而不是:2015-07-35T09:32:05.543+02:00
我尝试在 web 服务中的实例上使用setLenient,但是当原始日期错误时,它似乎不会引发异常。
有什么办法吗?我的猜测是在 global.jaxb 文件中告诉 JAXB 以正确的方式执行此操作,这是我现在使用的:
<?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>
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: java xml web-services parsing jaxb