2

我有一个 Spring MVC 项目,它通过 PUT 方法接受 XML 输入。XML 中的元素之一是dateTime. 我正在使用 aJaxb2Marshaller将 XML 解组为 bean。我有一个针对在服务器上运行的 webapp 运行的单元测试。

当我使用一切正常发送时间戳new GregorianCalendar(2012, 01, 02)并且我的应用程序接收到对象时。

但是,如果我更新测试以使用new GregorianCalendar(2013, 01, 02)Object 中的该字段,则返回为null.

请注意,唯一的区别是年份,2012 年与 2013 年。我在应用程序日志、localhost 或 catalina.out 中没有看到任何错误消息。

想法?

编辑:附加信息...

我正在使用DataTypeConverter转换dateTimeCalendar。所以我的架构具有以下内容(我正在使用 XJC 将架构转换为 Java 类)。

<annotation><appinfo><jaxb:globalBinding>
      <jaxb:javaType name="java.util.Calendar" xmlType="dateTime"
          parseMethod="javax.xml.bind.DatatypeConverter.parseDate"
          printMethod="javax.xml.bind.DatatypeConverter.pringDate"/>
</jaxb:globalBinding></appinfo></annotation>
4

1 回答 1

0

所以我摆脱了到的映射Calendar并允许 XJC 生成带有XMLGregorianCalendar. 这似乎解决了这个问题。仍然看起来很奇怪,所以我对洞察力持开放态度。

于 2013-03-15T19:05:27.213 回答