Salut,
Je dois exposer des services ejb 3 existants a travers un web service en utilisant jax-ws et netbaens 7 .
Tout marche bien sauf pour les Dates qui sont mappés en XmlGregorianCalendar .
Pour régler ce probleme , j'ai éffectué un binding de type avec ce qui suit :
J'obtiens coté client des java.util.Date au lieu du XmlGregorianCalendar et un fichier Adapter1 est généré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?xml version="1.0" encoding="UTF-8"?> <jaxws:bindings node="wsdl:definitions/wsdl:types/xsd:schema" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <jaxb:globalBindings> <jaxb:serializable/> <jaxb:javaType name="java.util.Date" xmlType="xsd:dateTime"/> </jaxb:globalBindings> </jaxws:bindings>Le transfert est bien effectué et j'obtiens le bon affichage dans la classe Adapter1 mais les Dates passées en parametres ou retournés sont toujours nulles .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class Adapter1 extends XmlAdapter<String, Date> { public Date unmarshal(String value) { System.out.prinln("unmarhal:"+value"); return new Date(value); } public String marshal(Date value) { System.out.prinln("marhal:"+value"); if (value == null) { return null; } return value.toString(); } }
Que faire ?
Merci.
Que faire ?
Partager