XMLRPC Time problem

David Bovill david at openpartnership.net
Wed Mar 7 15:42:16 EST 2007


I am not sure if this is a problem with the XMLRPC library but I cannot send
a time to the web service which expects ISO

'time data did not match format:  data=2007-03-07T21:28:44Z UTC
> fmt=%Y%m%dT%H:%M:%S %Z'
>

And while the above is the correct ISO_8601 time I also tried the following
based on the error codes returned:

20070307T21:26:41 Z
20070307T21:25:14Z
2007-03-07T21:27:38 Z
20070307T213142Z

All give the same result. however the error includes the letters "UTC" and
from the docs:

The type is the type of data contained in the value parameter.
The supported types are:
    * dateTime.iso8601: the value is an Internet date

Which makes me wander if the library is sending the internet time followed
by "UTC"? Or can someone help me with what the format response is asking for
if it is not in one of the above. Stuck here.

NB there was a bug in the function I posted -this is the one I am using at
the moment:

function date_Construct8601 someDate, useDateDelim, useTimeDelim
    -- 1981-04-05T14:30:30-05:00

    if useDateDelim is not false then put "-" into dateDelim
    if useTimeDelim is not false then put ":" into timeDelim

    convert someDate to internet date
    put word -1 of somedate into utcOffset
    put char 2 to 3 of utcOffset into extraHours
    put char 4 to 5 of utcOffset into extraMin

    convert someDate to dateItems
    if char 1 of utcOffset is "+" then
        add extraHours to item 4 of someDate
        add extraMin to item 5 of someDate
    else
        subtract extraHours from item 4 of someDate
        subtract extraMin from item 5 of someDate
    end if
    convert someDate to dateItems

    set the numberformat to "00"
    put item 1 of someDate & dateDelim into fDate
    put (item 2 of someDate + 0) & dateDelim after fDate
    put (item 3 of someDate + 0) after fDate
    put "T" after fDate

    put (item 4 of someDate + 0) & timeDelim after fDate
    put (item 5 of someDate + 0) & timeDelim after fDate
    put (item 6 of someDate + 0) & "Z" after fDate

    return fDate
end date_Construct8601



More information about the use-livecode mailing list