Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.5 Final
-
None
-
None
-
Suse Linux 9.0
Description
DateTime items in SOAP-Messages get deserialized incorrectly: It seems that the GMT offset is treated wrongly when normalizing to GMT. Also, there's an error in serialization during daylight saving time. This is the phenotype:
2005-10-09T13:00:00+0200
becomes
2005-10-09T15:00:00Z
in our application, where it should be
2005-10-09T11:00:00Z
We patched the file src/soap/xsd/DateTime.cpp from the official Axis-1.5 sources to make it work for us. Here's the diff:
123c123
< time_t now = 0;
—
> time_t now = time(0); /***time_t now = 0; ***/
189c189
< time_t now = 0;
—
> time_t now = time(0); /*** time_t now = 0; ***/
287c287
< timeInSecs += secs;
—
> timeInSecs -= secs; /*** timeInSecs += secs; ***/
291c291
< timeInSecs -= secs;
—
> timeInSecs += secs; /*** timeInSecs -= secs; ***/
(we had the original lines commented out rather than deleted just in case we needed to roll back)