我无法理解为什么我的字段dateTransaction
从date
类型更改为XMLGregorianCalendar
(使用wsimpot或cxf maven插件)
<xs:schema targetNamespace="http://www.xxxxxx.xxr/xx/wsdl/service/objets/v1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://www.xxxxxx.xxr/xx/wsdl/service/objets/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="RequeteService" type="RequeteService"/>
<xs:element name="dateTransaction" type="xs:date" minOccurs="1" maxOccurs="1"/>
</xs:complexType>
</xs:schema>
这是我生成的课程:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RequeteService", propOrder = {
"dateTransaction",
....
})
public class RequeteService{
.....
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar dateTransaction;
这是我的插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<useJdkToolchainExecutable>false</useJdkToolchainExecutable>
<wsdlDirectory>${project.basedir}/src/main/resources/wsdl</wsdlDirectory>
<packageName>xxxx.xxxx.ws.api</packageName>
<keep>true</keep>
<sourceDestDir>${project.basedir}/target/generated/src/main/java</sourceDestDir>
</configuration>
</plugin>
答案 0 :(得分:0)
这是XDK“日期”类型的JDK(和XSD)标准处理的一部分。 XMLGregorianCalendar处理所有XML和时区细节。如果要将xml日期(或dateTime)属性映射到其他Java date(时间)对象,则可以使用绑定文件通过Adapter将该文件映射到其他对象。
这是有关DZone的文章: Customizing XML date(time) field generation w/ XJB