基础知识简述:
WebService:
- WebService是使用http传输SOAP协议数据的一种远程调用技术,跨防火墙(防火墙默认对http协议不拦截),跨平台(使用XML封装数据),支持面向对象。
- WSDL: web服务描述语言,是WebService服务端的使用说明书,说明服务、接口、方法、参数和返回值,是伴随服务发布成功自动生成,无需编写。
- 地址: 服务地址+?wsdl
- 阅读方式: 从下往上,service>binding>portType>方法、参数和返回值
- SOAP: SOAP即简单对象访问协议,是使用http传输XML格式的数据,跨平台,跨防火墙
- 客户端需使用wsimport命令生成客户端代码 ,只支持SOAP1.1
- -p: 指定包名 -d: 指定输出路径
CXF框架:
- CXF是一个开源的WebService框架,提供很多完善功能,可以实现快速开发
- CXF支持的协议:SOAP1.1/1.2,REST
- CXF支持的数据格式:XML,JSON(仅在REST方式下支持)
- REST可以精确定位网上资源,无需生成客户端。
- 用wsdl2java命令(类似wsimport命令)可以根据WSDL生成客户端代码 ,wsdl2java支持SOAP1.1和SOAP1.2
- -p: 指定包名 -d: 指定输出路径
- WSDL查看地址:http://ip地址:端口号/项目名称/Servlet拦截路径?wsdl
项目需求:
- 集成公网手机号归属地查询服务
- 对外发布自己的手机号归属地查询服务
- 提供查询界面
开发步骤:
第一步:创建web项目(引入jar包)
第二步:生成公网客户端代码
在项目src下shift+右键打开命令行界面,输入wsdl2java命令:
wsdl2java -p cn.striner.mobile.server.client -d . http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
ps:若jdk版本为1.8.0或更高,需要在/path/to/jdk1.8.0/jre/lib下创建名为jaxp.properties的文件,内容: