CXF利用wsdl2java生成客户端时Date日期类型转换

在利用CXF的wsdl2java生成客户端时,默认情况下java的Date类型会自动转换成XMLGregorianCalendar,如果想生成Date类型,该怎样处理?答案如下:
1.生成配置文件(一般取名为jaxb-binding-date.xml,可放在任意路径下,只是在运行wsdl2java时使用):

Xml配置代码
<jaxws:bindings
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xs:schema
Xml配置代码
<span style="color: #ff0000;"> [@targetNamespace='http://service.test.com/']"></span>
<jxb:globalBindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:javaType name="java.util.Date" xmlType="xs:dateTime"
parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime"
printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/>
</jxb:globalBindings>
</jaxws:bindings>
t;/jaxws:bindings>
这里需要注意的一点是:targetNamespace需要替换成自己的目标命名空间(可以在wsdl服务中看到)

2.然后再在cmd下运行wsdl2java:

Java代码
wsdl2java -p com.jd.crm.service.webserviceclient.complaintdetails -b D:\cxf\jaxb-binding-date.xml -d D:\cxf http://localhost:9090/services/complaintDetails?wsdl
参数说明:
-p: 生成的客户端代码所在的包路径
-b: jaxb-binding-date.xml文件的路径
-d: 生成的客户端代码的本地存放路径
http://localhost:9090/services/complaintDetails?wsdl ---- webservice服务端wsdl访问路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值