Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1049

Axis2/C does not handle timezone offsets or fractional seconds correctly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • None
    • util
    • None
    • Windows XP

    Description

      See section 3.2.7.1 of the spec at http://www.w3.org/TR/xmlschema-2/

      I have a C# client sending a date/time string as "2008-03-08T23:30:43.6915406-08:00" which is an acceptable way of describing a time in the US/Pacific timezone. It looks like the code in util/src/date_time.c was recently changed, but even before it was not handling this type of date/time string.

      First, it is treating the ".6915406" as milliseconds and giving me an error because it's greater than 999. This is supposed to be fractional seconds, not msec.

      Second, it doesn't parse the "-08:00" at all. It is using the following to scan:

      sscanf(time_str, "%d:%d:%d.%dZ", &hour, &min, &sec, &msec);

      But the spec shows "''? yyyy '' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?" where the ".s+" part is the fractional seconds and "zzzzzz" can be "Z" or "+02:00" or "-08:00", etc.

      Attachments

        1. diff.txt
          1 kB
          Dave Meier

        Activity

          People

            senakafdo Senaka Fernando
            hoodoo99 Dave Meier
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: