Devo esporre un livello di servizio ejb tramite jax-ws.come sostituire XmlGregorianCalendar per data?
Ho generato il servizio Web utilizzando jax-ws e wsimport ma sono fermato da una cosa strana; La data viene mappata su XmlGregorianCalendar. È possibile utilizzare invece la classica data java? Puoi mostrarmi il modo giusto di procedere?
Grazie. Modifica: questo il file di collegamento che ho usato: grazie, ho modificato leggermente il tuo xml e l'ho collegato con netbeans al webservice del client e ha funzionato. Questo è il legame che ho usato:
<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" wsdlLocation="../wsdl/localhost_8080/web_test/Testor.wsdl" >
<jaxb:globalBindings>
<jaxb:javaType name="java.util.Date"
xmlType="xsd:dateTime"
parseMethod="lol.XsdDateTimeConverter.unmarshal"
printMethod="lol.XsdDateTimeConverter.marshalDateTime"
/><jaxb:javaType
name="java.util.Date"
xmlType="xsd:date"
parseMethod="lol.XsdDateTimeConverter.unmarshal"
printMethod="lol.XsdDateTimeConverter.marshalDate"
/>
</jaxb:globalBindings>
</jaxws:bindings>
grande soluzione, grazie! –
Hey Tomasz Ho provato la tua soluzione e in realtà stavo generando i sorgenti usando il plugin maven. Ha generato tutte le fonti necessarie e ha generato Data piuttosto che XMLGregorianCalendar e ha anche annotato con @XmlJavaTypeAdapter (Adapter2 .class) @XmlSchemaType (name = "date") protected Date closedDate; ma il mio problema è che non riusciva a trovare XsdDateTimeConverter nelle classi dell'adattatore e c'era un errore di compilazione. Potete per favore aiutarmi su questo. – ROCKY
Lo stesso problema qui. – Lyth