提到webservice想必做过的人感觉应该不是很难吧,但是对于没接触过的初学者来说wsdl/soap这些概念肯定是一头雾水,再加上结合WEBI(这里指Web Intelligence)发布出来的结构比较复杂,刚开始看到的人肯定觉得更不知从何下手。接下来我就分享一下我是如何通过最简单的方法实现调用WEBI发布的webservice接口。
- 工具准备
-
jdk 1.6
及以上均可。 - 已发布的wsdl文件地址
-
- 过程详解
- 使用浏览器打开wsdl地址,将内容另存为xml文件,这一步是必要的,请不要直接使用网址进行代码生成,因为那样会报错。
- 打开刚保存的xml文件,将
UTF-8
改为UTF8
否则会报错。 - 在xml文件所在目录打开命令行工具
shift+鼠标右键
选择在此处打开命令窗口,在命令提示符中使用如下命令:wsimport bi.xml -encoding utf-8 -p com.jidd.ws -s d:/ -d d:/src/
命令参数说明:
-d:生成客户端执行类的class文件的存放目录
-s:生成客户端执行类的源文件的存放目录
-p:定义生成类的包名
其他命令参数请参照:wsimport命令给出的提示- 如果过程中没有报错那么说明你成功了,接下来的接口如何调用。
- 心得分享
市面上解析webservice的框架很多例如axis、cxf等,我也都进行过尝试,但最后还是以失败告终。WEBI发布的webservice与其他标准的webservice不同,使用上面提到的两个框架会遇到很多大大小小的问题,也可能是我个人能力不足,所以最终选择了jdk自带的工具完成了这个需求。他的优点就是:学习成本低、零配置、不依赖其他jar包。