hun*_*r99 22 web-services jax-ws
我必须通过jax-ws公开ejb服务层.
我使用jax-ws和wsimport生成了web服务但是我被一些奇怪的东西拦住了; 日期被映射到XmlGregorianCalendar.是否可以使用经典的Java Date?你能告诉我正确的方法吗?
谢谢 .编辑:这是我使用的绑定文件:谢谢,我稍微修改了你的xml并将它与netbeans一起附加到客户端的webservice并且它工作正常.我使用的绑定:
<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" wsdlLocation="../wsdl/localhost_8080/web_test/Testor.wsdl" >
<jaxb:globalBindings>
<jaxb:javaType name="java.util.Date"
xmlType="xsd:dateTime"
parseMethod="lol.XsdDateTimeConverter.unmarshal"
printMethod="lol.XsdDateTimeConverter.marshalDateTime"
/><jaxb:javaType
name="java.util.Date"
xmlType="xsd:date"
parseMethod="lol.XsdDateTimeConverter.unmarshal"
printMethod="lol.XsdDateTimeConverter.marshalDate"
/>
</jaxb:globalBindings>
</jaxws:bindings>
Run Code Online (Sandbox Code Playgroud)
Tom*_*icz 19
没有测试,但应该工作.首先创建这样的类:
import javax.xml.bind.DatatypeConverter;
public class XsdDateTimeConverter {
public static Date unmarshal(String dateTime) {
return DatatypeConverter.parseDate(dateTime).getTime();
}
public static String marshalDate(Date date) {
final GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(date);
return DatatypeConverter.printDate(calendar);
}
public static String marshalDateTime(Date dateTime) {
final GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(dateTime);
return DatatypeConverter.printDateTime(calendar);
}
}
Run Code Online (Sandbox Code Playgroud)
然后将其添加到自定义xjb文件:
<javaType
name="java.util.Date"
xmlType="xs:dateTime"
parseMethod="XsdDateTimeConverter.unmarshal"
printMethod="XsdDateTimeConverter.marshalDateTime"
/>
<javaType
name="java.util.Date"
xmlType="xs:date"
parseMethod="XsdDateTimeConverter.unmarshal"
printMethod="XsdDateTimeConverter.marshalDate"
/>
</globalBindings>
Run Code Online (Sandbox Code Playgroud)
没有测试,但应该工作.基于我的答案:JAX-WS和Joda-Time?
| 归档时间: |
|
| 查看次数: |
20824 次 |
| 最近记录: |