该规则标记对以下任何模式类型的引用: http://www.w3.org/2001/XMLSchema:duration, http://www.w3.org/2001/XMLSchema:dateTime, http://www.w3.org/2001/XMLSchema:time, http://www.w3.org/2001/XMLSchema:date, http://www.w3.org/2001/XMLSchema:gYearMonth, http://www.w3.org/2001/XMLSchema:gYear, NAMESPACE:gMonth, http://www.w3.org/2001/XMLSchema:gDay
这些模式类型及其与 JAX-RPC 相关的Java类型
java.util.String
和
java.util.Calendar
不被 JAX-WS 支持。
迁移到 JAX-WS 和 JAXB 将需要 使用 Java 的模式类型。
javax.xml.datatype.XMLGregorianCalendar
。
JAX-RPC Calendar 类的示例如下:
JAX-WSXMLGregorianCalendar类的示例如下:
从上面的示例中可以看出,输入参数的类型从
java.util.Calendar
至
javax.xml.datatype.XMLGregorianCalendar
.
这是因为 WSDL 指定了这些参数的类型、
xsd:dateTime
,JAX-RPC 将此数据类型映射为
java.util.Calendar
而 JAX-WS 和 JAXB 则将其映射为
javax.xml.datatype.XMLGregorianCalendar
.