J'utilise JAX-WS (WAS 7) -> Websphere ESB 7 -> JAX-WS (WAS 7), en remplissant xsd: dateTime champ avec un horodatage.xsd dateTime perdre les informations de fuseau horaire transmises via Websphere ESB via JAX-WS
Voici le flux:
- WAS - Instanciez objet Response
- Populate champ XMLGregorianCalendar dans POJO [
DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)Calendar.getInstance())
]"2010-11-02T15:35:42.047+13:00"
- réponse retraverser ESB
- Examine réponse à la passerelle "
2010-11-02T02:35:42.047Z
"
Comme vous pouvez le voir les informations sur le fuseau horaire NZ sont ignorées. Le XMLGregorianCalendarImpl.timezone=0
retourné, où il était XMLGregorianCalendarImpl.timezone=780
lorsqu'il a été instancié.
Le POJO est généré avec le "JAX-WS RI IBM 2.1.1 JDK 6" comme
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MessageControl", namespace = "http://xmlschema.customer.co.nz/generic/Response123", propOrder = {
"messageTrackTrace",
"messageDate",
})
public class PojoClass {
@XmlElement(name = "MessageTrackTrace")
protected String messageTrackTrace;
@XmlElement(name = "MessageDate", required = true)
protected XMLGregorianCalendar messageDate;
Est-ce un bogue dans ESB? Peut-être qu'il y a une configuration que je peux changer? Cheers
ne l'ignore pas, il est en train de convertir en UTC. – puug