Bonjour,
Je ne trouve pas de solution à mon problème alors je viens vous poser la question suivante.
J'ai dans un xsd un champ au format xs:date
Jaxb me le parse en XmlGregorianCalendar.
Cela fonctionne bien mais j'obtiens les resultats suivants :
Moi, il me faudrait ceci :<ns2:dateEffetSouhaitee>2007-06-01+00:01</ns2:dateEffetSouhaitee>
<ns2:dateEffetSouhaitee>2007-06-01+00:02</ns2:dateEffetSouhaitee>
<ns2:dateEffetSouhaitee>2007-06-01Z</ns2:dateEffetSouhaitee>
J'ai tenté ceci<ns2:dateEffetSouhaitee>2007-06-01</ns2:dateEffetSouhaitee>
mais le resultat est le même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13m.setAdapter(new XmlAdapter<String, XMLGregorianCalendar>() { @Override public String marshal(XMLGregorianCalendar date) throws Exception { return date.getYear() + "-" + date.getMonth() + "-" + date.getDay(); } @Override public XMLGregorianCalendar unmarshal(String arg0) throws Exception { return null; } });
Petite precision, voici deux implementation testées pour ce champ et donnant un resultat identique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl; (...) DatatypeFactoryImpl dffi = new DatatypeFactoryImpl(); ic.setDateEffetSouhaitee(dffi.newXMLGregorianCalendarDate(2007, 05, 01, 24));Qu'ais-je mal fait dans mon traitement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl; (...) ic.setDateEffetSouhaitee(XMLGregorianCalendarImpl.createDate(2007, 6, 1, 1));
Merci.
Partager