Anyhow, the problem is that after normalizing to UTC during deserialization, the offset is computed incorrectly and local daylight savings is not accounted for.
Attached is a diff/patch of my version (which works in my limited testing) against the current source. I also removed some unused and apparently redundant lines of code. I suppose I should look at the serialization code as well, but I haven't yet.
Dave Richards
----- Original Message ----- From: "Andrew Perry2" <[EMAIL PROTECTED]>
To: "Apache AXIS C Developers List" <[email protected]>
Sent: Wednesday, April 06, 2005 8:38 AM
Subject: DateTimeType problem.
Hi Dushshantha,
I have started running the Axis C++ server and have noticed problems with the DateTimeType. More specifically in AxisBench the client sends the DateTimeType
<ns1:DateTimeType>2004-11-12T07:58:43+01:00</ns1:DateTimeType>
The service is just an echo type service so I would expect the same date to
come back.
The reponse from the server for DateTimeType is
<ns1:DateTimeType>2004-11-12T09:58:43+01:00</ns1:DateTimeType>
Which as you can see is 2 hours ahead.
Then when the client Deserializes this it outputs
DateTimeType Fri Nov 12 11:58:43 2004
Which as you can see is another 2 hours ahead.
The original request indicates GMT/UTC + 1 hour, for daylight saving/British Summer Time (BST)
Have you seen any such discrepencies when running AxisBench, or other test?
To me it looks like the server is adding the time difference from GMT instead of subtracting it.
Any thoughts?
Regards,
Andrew Perry IBM Web Services Client for C/C++ [EMAIL PROTECTED] Mail Point 127 IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN Tel. Internal 249828 External + 44 (0)1962 819828 Fax. + 44(0)1962 818080
DateTime.cpp.diff
Description: Binary data
