我必須通過jax-ws公開一個ejb服務層。如何用日期替換XmlGregorianCalendar?
我已經使用jax-ws和wsimport生成了web服務,但我被一個奇怪的事物阻止了;日期正被映射到XmlGregorianCalendar。 是否有可能使用經典的java日期呢? 你能告訴我正確的方法嗎?
謝謝。 編輯: 這是我使用的綁定文件: 謝謝,我稍微修改了你的xml,並將它與NetBeans連接到客戶端的webservice,它工作。這使用的綁定:
<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>
的最佳解決方案,謝謝! –
嘿Tomasz我試過你的解決方案,我實際上是使用maven插件生成源代碼。它確實生成了所有必要的源代碼,它確實生成了Date而不是XMLGregorianCalendar,並且它也使用@XmlJavaTypeAdapter(Adapter2 .class)註解了@ 0XmlSchemaType(name =「date」) protected Date closedDate;但我的問題是它無法找到適配器類中的XsdDateTimeConverter並且出現編譯錯誤。你能幫我解決這個問題嗎? – ROCKY
這裏同樣的問題。 – Lyth