Uploaded image for project: 'WSS4J'
  1. WSS4J
  2. WSS-513

Fails to parse Timestamp headers in Thai locale

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.6.16
    • 2.0.2, 1.6.17
    • WSS4J Core
    • None
    • Java runtimes running under the th_TH locale
      We experienced it on Windows but it should be OS independent.

    Description

      In Thai, they seem to be using the Buddhist calendar and JRE defaults to using it. And the SimpleDateFormatter ctor which takes only a pattern uses the default locale to see which calendar system to use.
      http://docs.oracle.com/javase/7/docs/technotes/guides/intl/calendar.doc.html
      http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

      You can see how the API works like this:
      >jrunscript -J-Duser.language=th -J-Duser.country=TH -e "println( new java.text.SimpleDateFormat('yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'').parse('2014-01-01T00:00:00.000Z').toString() )"
      Tue Jan 01 00:00:00 JST 1471

      On the other hand, org.apache.ws.security.util.XmlSchemaDateFormat.parse() always expects the Gregorian calendar is used. If that is the case, it should have configured the formatter with a fixed locale regardless of the default locale.

      Attachments

        Activity

          People

            coheigea Colm O hEigeartaigh
            kamishim Kamishima, Kiyoshi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: