2

PUTメソッドを介してXML入力を受け入れるSpringMVCプロジェクトがあります。XMLの要素の1つはdateTime。です。Jaxb2MarshallerXMLをBeanにアンマーシャリングするためにを使用しています。サーバーで実行されているWebアプリに対して実行される単体テストがあります。

すべてを使用してタイムスタンプを送信するnew GregorianCalendar(2012, 01, 02)と、正常に機能し、アプリケーションがオブジェクトを受信します。

new GregorianCalendar(2013, 01, 02)ただし、オブジェクトのそのフィールドを使用するようにテストを更新すると、として返されnullます。

唯一の違いは2012年と2013年であることに注意してください。アプリケーションログ、localhost、またはcatalina.outにエラーメッセージは表示されません。

考え?

編集:追加情報...

を使用してDataTypeConverterからに変換しdateTimeていCalendarます。したがって、私のスキーマには次のものがあります(そして、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

そこで私は へのマッピングを取り除き、CalendarXJC が を使用して Java クラスを生成できるようにしましたXMLGregorianCalendar。これで問題は解決したようです。まだ奇妙に思えるので、洞察を受け入れています。

于 2013-03-15T19:05:27.213 に答える