I managed to find the solution for the problem: the two Glassfish I used had different timezones set (with the -Duser.timezone jvm option), one was set to GMT and one was using the default CET. After I changed the GMT setting to CET the problem is gone. Thank you for your help anyway!
Best regards, Márton Horváth ________________________________________ Feladó: Sergey Beryozkin [[email protected]] Küldve: 2013. július 25. 18:19 To: [email protected] Tárgy: Re: CXF java.util.Date problem Hi On 25/07/13 14:25, Horváth Márton wrote: > Hi, > > I have faced a strange issue when passing a java.util.Date through CXF > (version is 2.7.4) web-service from client to server side. On the client side > a java.util.Date is created (Wed Jul 31 23:59:59 GMT 2013) and passed to the > web service. In the soap request the date is still correct > (2013-07-31T23:59:59.999Z), but when the server side method is called in the > argument the date is changed (Thu Aug 01 01:59:59 CEST 2013). It's off with > plus 2 hours which is I think the difference between GMT and my timezone > (CET). But what and why changes the date this way and how can I avoid this > behaviour? Is this Date passed as part of the soap payload itself ? If so then I guess you may need to plugin somehow into the way JAXB reads the dates (XmlJavaTypeAdapter I guess), example, make sure that the same Date pattern, ex, ensure GMT timezone is set, example: // replace the string pattern with the one matching Wed Jul 31 23:59:59 GMT 2013: SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); TimeZone tZone = TimeZone.getTimeZone("GMT"); dateFormat.setTimeZone(tZone); Might help, Cheers, Sergey > Thank you for your help! > > Best regards, > Márton Horváth >
