Jaxb 使用JAX-WS(Apache CXF/Metro)在xsd中呈现为xs:string的java.util.Date属性

Jaxb 使用JAX-WS(Apache CXF/Metro)在xsd中呈现为xs:string的java.util.Date属性,jaxb,wsdl,jax-ws,cxf,java-metro-framework,Jaxb,Wsdl,Jax Ws,Cxf,Java Metro Framework,我使用ApacheCXF基于WSDL生成了一些模型类。然后,我添加了一个jaxb绑定文件,将所有xs:dateTime和xs:date元素转换为java.util.date,而不是默认的XMLGregorianCalendar: <jxb:javaType name="java.util.Date" xmlType="xs:date" parseMethod="org.apache.cxf.tools.common.DataTypeAdapter

我使用ApacheCXF基于WSDL生成了一些模型类。然后,我添加了一个jaxb绑定文件,将所有xs:dateTime和xs:date元素转换为java.util.date,而不是默认的XMLGregorianCalendar:

<jxb:javaType name="java.util.Date" xmlType="xs:date"
                      parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDate"
                      printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDate"/>
       <jxb:javaType name="java.util.Date" xmlType="xs:dateTime"
                      parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime"
                      printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/>
我可以想象,type=String.class可能是所有属性生成为xs:String字段的原因

当然,我可以手动编辑所有对象,但我真的在Metro的ApacheCfx中寻找解决方案,以声明的方式防止这个问题

我希望你们能帮助我,因为这个问题让我陷入了僵局

谢谢

 @XmlElement(required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    protected Date datumTijdBedrijfsdocument;