Muszę odsłonić warstwę usługi ejb za pośrednictwem jax-ws.jak zamienić XmlGregorianCalendar według daty?
Wygenerowałem usługę WWW przy użyciu jax-ws i wsimport, ale jestem zatrzymany przez dziwne rzeczy; Data jest mapowana do XmlGregorianCalendar. Czy można zamiast tego używać klasycznej daty java? Czy możesz pokazać mi właściwy sposób postępowania?
Dzięki. Edycja: to plik powiązania użyłem: dzięki, trochę zmodyfikowałem twój xml i przyłączyłem go netbeans do webservice klienta i zadziałało. To wiązanie użyłem:
<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>
Świetne rozwiązanie, dzięki! –
Hej Tomasz, wypróbowałem Twoje rozwiązanie i faktycznie generowałem źródła przy użyciu wtyczki maven. Wygenerował wszystkie potrzebne źródła i wygenerował Date, a nie XMLGregorianCalendar, a także przypisano go do @XmlJavaTypeAdapter (Adapter2 .class) @XmlSchemaType (name = "date") protected Date closedDate; ale mój problem polega na tym, że nie mógł znaleźć XsdDateTimeConverter w klasach adapterów i wystąpił błąd kompilacji. Czy możesz mi w tym pomóc? – ROCKY
Ten sam problem tutaj. – Lyth