【发布时间】:2012-06-19 17:12:20
【问题描述】:
我有一个使用 jax-ws 和 netbeans 7 的向导创建的 web 服务(这是我的第一次)。 要使用 java.util.Date 而不是 XmlGregorianCalendar,我已经使用此 xml 修改了客户端的 Web 服务:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<jaxb:globalBindings>
<jaxb:serializable/>
<jaxb:javaType name="java.util.Date" xmlType="xsd:dateTime"/>
</jaxb:globalBindings>
</jaxws:bindings>
现在使用日期而不是 XmlGregorianCalendar 并生成一个 Adapter1:
public class Adapter1
extends XmlAdapter<String, Date>
{
public Date unmarshal(String value) {
return new Date(value);
}
public String marshal(Date value) {
if (value == null) {
return null;
}
return value.toString();
}
}
当我在适配器中添加 system.out.println 时,我看到日期已接收/发送到服务器,但如果我使用 ws 的方法,我在日期字段/参数上总是为空。
谢谢。
【问题讨论】:
标签: web-services jakarta-ee netbeans jaxb jax-ws