apache-cxf wsimport 的升级版 wsdl2java 生成webService java 基本类

wsdl2java wsimport 的升级版wsdl2java 生成webService java 基本类

apache-cxf 下载 及配置变量

下载地址列表 : http://cxf.apache.org/download.html
在这里插入图片描述

下载地址: https://www.apache.org/dyn/closer.lua/cxf/3.4.2/apache-cxf-3.4.2.zip
在这里插入图片描述下载后解压文件到目录
在这里插入图片描述

D:\Program Files\apache-cxf-3.4.2

在这里插入图片描述
在这里插入图片描述%CXF_HOME%\bin;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

wsdl2java 使用过程

通过手机号码查询归属地信息的接口
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

wsdl2java -p com.tiza.xcmg.syncVehDataFromCrm.client -d D:\logs -client http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

在这里插入图片描述

wsdl2java 参数

wsdl2java 参数解释
-p1600
-d1600
-all生成所有开始端点代码:types,service proxy,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
-client生成客户端测试web service的代码
-server生成服务器启动web service的代码
-impl生成web service的实现代码
-ant生成build.xml文件
电脑1600
电脑1600

具有相同参数报错

在这里插入图片描述
处理方式
http://www.bubuko.com/infodetail-2930586.html
wsdl2java.test http://:/**.wsdl ,如果报:具有相同名称 “xxx” 的类/接口已在使用。请使用类定制设置来解决此冲突。可添加 -autoNameResolution 解决。

wsdl2java -p wsdl2java.test -autoNameResolution http://:/**.wsdl

wsdl2java --help 查看参数


C:\Users\tz_wl>wsdl2java --help
Unexpected option: --help

Usage : wsdl2java 
-fe|-frontend <front-end-name> 
-db|-databinding <data-binding-name> 
-wv <wsdl-version> 
-p <[wsdl-namespace =]package-name>* 
-sn <service-name> 
-b <binding-file-name>* 
-reserveClass <class-name>*
-catalog <catalog-file-name> 
-d <output-directory> 
-compile 
-classdir <compile-classes-directory> 
-impl -server -client -clientjar <jar-file-name> 
-all 
-autoNameResolution 
-allowElementReferences|-aer<=true> 
-defaultValues<=class-name-for-DefaultValueProvider> 
-ant 
-nexclude <schema-namespace [= java-package-name]>* 
-exsh <(true, false)> 
-noTypes
-dns <Default value is true> 
-dex <(true, false)> 
-validate<[=all|basic|none]> 
-keep 
-wsdlLocation <wsdlLocation> 
-xjc<xjc-arguments>* 
-asyncMethods<[=method1,method2,...]>* 
-bareMethods<[=method1,method2,...]>* 
-mimeMethods<[=method1,method2,...]>* 
-noAddressBinding 
-faultSerialVersionUID <fault-serialVersionUID> 
-encoding <encoding> 
-exceptionSuper <exceptionSuper> 
-seiSuper <seiSuper>* 
-mark-generated 
-suppress-generated-date 
-maxExtensionStackDepth <maxExtensionStackDepth> 
-h|-?|-help 
-version|-v 
-verbose|-V 
-quiet|-q|-Q 
-wsdlList <wsdlurl>

使用 wsdl2java 替换 wsimport 的原因

参考网页   http://www.bubuko.com/infodetail-2930586.html 

网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具。

本机jdk1.8.1的,直接按网上说的wsimport -keep -p wsimport.test http://****:****/***.wsdl 报警报错,报警warning可以忽略,但错误error 难以解决,说具有相同名称 "xxx" 的类/接口已在使用。请使用类定制设置来解决此冲突。找了许多资料,包括程序猿题解天堂stackoverflow找到的也不好使。某度找到的只有4个答案,有三个答案是关于添加-autoNameResolution,结果 wsimport 加上提示根本不存在该属性啊,,,,

于是决定用wsdl2java,本来以为要安装什么东西,公司那破网速简直不敢,看了介绍只需要下载解压,添加到系统路径path即可,找了官网可下载的最新链接,按照网上的说法添加到系统路径,先添加属性CXF_HOME和值D:\Program Files\Java\apache-cxf-3.2.7,然后添加path属性%CXF_HOME%\bin,可是我的win10系统仍然提示不是内部命令,于是直接将D:\Program Files\Java\apache-cxf-3.2.7\bin 添加到path系统路径,重新开启cmd,成功!

wsdl2java http://***:****/***.wsdl 默认生成com.oracle.*.*.****包名,可以自定义 wsdl2java -p wsdl2java.test http://***:****/***.wsdl ,如果报:具有相同名称 "xxx" 的类/接口已在使用。请使用类定制设置来解决此冲突。可添加 -autoNameResolution 解决。

wsdl2java -p wsdl2java.test -autoNameResolution http://***:****/***.wsdl 

添加 -client 可以自动生成main测试代码 wsdl2java -p wsdl2java.test -client -autoNameResolution http://***:****/***.wsdl 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值