2010-11-17 8 views
0

Comment JAX-WS mapper un XML schema date (xs:dateTime) à un Java Date? En particulier, si un serveur JAX-WS reçoit un xs:dateTime qui contient un fuseau horaire, JAX-WS traduit-il la date dans le fuseau horaire du serveur? Par exemple, supposons qu'un serveur exécutant JAX-WS reçoive une date XML de 2010-08-20T00:00:00-04:00 et que le serveur fonctionne dans le fuseau horaire UTC-5, après que JAX-WS a mappé la date à Java Date propriété now, quelle chaîne générerait now.toString()? Étant donné une collection de dates XML en entrée, JAX-WS les mappera à une collection d'objets Java Date, mais dans le journal, à ma grande surprise, je vois un mélange de fuseaux horaires EST et EDT quand je m'attends à Voir toutes les dates dans EST, le fuseau horaire actuel. Date.toString() affiche l'heure par rapport au fuseau horaire du serveur.Comment JAX-WS mappe-t-il une date XML avec fuseau horaire à une date Java?

+0

L'avez-vous essayé? –

+0

Oui, j'ai, mais j'observe le comportement étrange que je décris dans les commentaires à http://stackoverflow.com/questions/4199217/what-time-zone-does-date-tostring-display/4199245#4199245. –

Répondre

3

E.g.

SimpleTimeZone stz = new SimpleTimeZone(-18000000, "UTC-5"); 
TimeZone.setDefault(stz); 

signifie que tous les appels à Date.toString() seront du format Fri Jan 01 0:00:00 GMT-5:00 2010

Par conséquent, si vous aviez un service Web qui a pris dans une entrée Date et retourné sans aucun changement, il serait être modifié pour correspondre au fuseau horaire du serveur.

Si vous avez d'autres questions, je vous suggère de jouer avec vous-même.

+0

C'est ce à quoi je m'attendais, mais j'ai observé une collection de dates qui, une fois imprimées, montrent un mélange de fuseaux horaires EST et EDT. Quelle bibliothèque est le coupable? Est-ce JAX-WS, Logback 0.9.24, Apache Commons Lang 2.4 'ToStringBuilder.reflectionToString (Objet)', 'Date.toString()', 'TimeZone', la JVM? J'ai posé cette question en pensant que JAX-WS pourrait être la cause. –

Questions connexes