我有一个 XSD 选择,它们都是 javax.xml.datatype.XMLGregorianCalendar 类型。按照建议,我使用了 ObjectFactory 和 JAXBElement 来区分这两种选择。
@XmlElementDecl(namespace = "http://me.com/1.0/api", name="timestamp")
JAXBElement<XMLGregorianCalendar> createTimestamp(XMLGregorianCalendar timestamp) {
return new JAXBElement<XMLGregorianCalendar>(_timestamp_QNAME, XMLGregorianCalendar.class, null, timestamp);
}
我现在想将自动生成的 WSDL 中显示的类型更改为“dateTime”而不是 xs:anySimpleType。
看起来 ObjectFactory 方法不支持 @XmlSchemaType 注释,并且包级别的 @XmlSchameType 标记也无法修改此处生成的类型。
@javax.xml.bind.annotation.XmlSchemaType(name="dateTime", type=javax.xml.datatype.XMLGregorianCalendar.class)
package my.example.api;
在这种特殊情况下,这仍然会生成 xs:anySimpleType。
我不能在我的项目中使用 EclipseLink。