Web Service简介
Web Service是用来解决,异构系统(不同计算机语言)之间的数据调用/传输的一门技术
服务提供方:发布出来一个WSDL
服务调用方:WSLD–>对应的语言代码–>正常的调用(SOAP)
WSDL:Web服务定义语言
SOAP:用来规范服务端和客户端之间做数据传播的协议
Web Service的开发思路
- 服务端:
- 写功能
- 发布任务:将要提供的功能,发布生成一个网络XML文件(WSDL)
- 客户端:
- 找服务端拿到wsdl
- 通过计算机语言提供的功能,把wsdl转换成对应的代码
- 将转换的代码复制到项目中
- 像调用自己写的代码一样,调用转换的代码;在这个过程中,会通过SOAP协议影响服务端
纯JDK的开发:(jdk1.6.21之后,支持java项目(javaEE–>javaSE))
- 服务端:
- 创建java项目,在项目中写功能类(要发布出去的任务)
- 通过JDK提供的内容,将服务生成WSDL
- 客户端:
- 拿到服务端提供的wsdl
- 通过JDK提供的工具wsimport,可以把wsdl解析生成Java代码
- 将解析生成的java代码复制到客户端项目总
- 调用代码即可
注意:
- 客户端在在访问的时候,服务端一直处于开启状态
- 服务端代码有改变,重写启动服务端;重写生成客户端代码
- 在使用wsimport之前,确认JDK安装完成并且环境变量配置没有问题
① 服务端生成的WSDL介绍
② 在客户端只用一个接口即可开发
cxf框架
- cxf框架是一个webService框架;基于spring的;支持web项目:可以依托web应用服务器(Tomcat)把一个cxf框架的WebService发布出来
- cxf框架服务端开发思路:
- 添加cxf相关jar和Spring相关的jar
- 在web.xml中配置相关信息
- 面向接口编程:书写要发布的接口和方法(在接口上面标记@WebService)
- 书写接口的实现类
- 在cxf.xml中将要发布的功能发布出来
- 在浏览器中验证发布出来的WSDL
- cxf框架客户端调用服务思路:
- 从服务端获取到WSDL
- 将WSDL解析转成java代码
- 将生成的接口赋值到项目中
- 在cxf.xml(或spring的xml)配置文件中配置
- 可以加载cxf.xml,获取一个对象
- 通过对象调用方法(会影响服务端)
cxf提供一个功能wsdl2java可以把wsdl转换成java代码