本帖最后由 谷粒姐姐 于 2018-3-15 11:55 编辑
4. WebServiceCXF使用入门 4.1 . 什么是 Service?
很多个系统,进行分布的部署,分布的系统数据通信 解决技术就是 WebService 4.2 . 什么是 CXF?
CXF 是目前最主流 WebService 开发框架 ,由 Apache 提供
CXF WebService 开发,主要分为两种服务提供方式 WS 、RS
JAX-WS 传输数据,就是 XML 格式,基于 SOAP 协议 JAX-RS 传输数据,传输 XML 格式或者 JSON 格式,基于 HTTP 协议
4.3 . JAX-WS独立服务使用 1、 建立 maven java 项目
2、 在项目中导入 CXF jar 包支持
要提供 jaxws 服务,引入 jaxws 的 jar 包 , 要提供 jaxrs 服务,引入 jaxrs 的 jar 包使用 maven 坐标 查看完整日志
file:///C:\Users\user\AppData\Local\Temp\ksohtml\wpsDBE1.tmp.png 别忘记 log4j.properties
3、 编写服务端程序编写实体类
编写服务 @WebService 使用类上面,标记类是 WebService 服务提供对象 @WebMethod 使用方法上面,标记方法 是 WebService 服务提供方法
@WebService 注解设置 endPointInterface 接口服务完整类名, servicename 服务名称 想将 UserService 的服务方法,发布到网络上,给其它系统调用
网址: http://localhost:9999/userService?wsdl
4、 编写客户端操作
4.4 . JAX-WS原理分析讲解
添加日志监控 4.5 . JAX-WS和 Spring整合开发 1、 建立 maven web 项目 ,基于 tomcat 发布服务
基于 maven 导入坐标 CXF 开发
Spring 开发
基于 spring 测试开发
Spring 配置文件加载、环境初始化
CXF 基于 web 访问 ****
2、 导入实体类、Service 3、 配置 spring cxf 服务发布引入名称空间 配置服务
配置启动服务端口
访问 :http://localhost:9998/cxf_ws_spring/services/userService?wsdl 4、 整合 spring 测试,编写客户端
测试用例编写 4.6 . JAX-RS独立服务使用
[/table]什么是 Restful 风格的服务 ?
Restful 风格好处 ?
基于这种风格架构,软件编写可以更简洁 基于 HTTP 协议, 支持多种消息格式,比如 XML 、JSON 更易于实现缓存机制(第一次访问资源 缓存,第二次访问资源,返回 304 客户端调用本地)
http://localhost:9997/userService/user
POST 请求方式访问 保存操作 PUT 请求方式访问 修改操作 GET 请求方式访问 查询操作 DELETE 请求方式访问 删除操作 http://localhost:9997/userService/user 查询所有用户信息 http://localhost:9997/userService/user/1 查询用户编号为 1 的用户信息 访问服务器统一资源,采用不同 HTTP 协议请求方式,服务器端可以得知进行 CRUD 哪个操作! 编写 JAX-RS 独立服务应用 1、 建立 maven java 项目
基于 maven 导入坐标
2、 导入实体类
@XmlRootElement 指定序列化(转换 XML、JSON) 对象名字
3、 编写业务类
第一种 @Path 服务访问资源路径 如果访问 saveUser 方法 /userService/user 第二种 @Produces 生成(方法返回值) @Consumes 消费 (方法参数) @Consumes 指定能够处理客户端传递过来数据格式 @Produces 指定能否生成哪种格式数据返回给客户端 第三种 @GET 查询 @PUT 修改 @POST 增加 @DELETE 删除
如果实现某条数据单独查询,使用 url 参数 ! 4、 发布服务
5、 客户端程序的编写有两种做法 1) 使用 http client 工具 ,需要自己对 HTTP 协议内容进行定制和解析 2)
WebClient 工具类使用 (CXF 自带)
4.7 . JAX-RS如何传输 JSON格式的数据 ? 如果指定客户端要获取 json 内容 错误:Caused by: javax.ws.rs.ProcessingException: No message body writer has been found for class cn.itcast.cxf.domain.User, ContentType: application/json 解决: 在项目引入 json 转换器
4.8 . JAX-RS和 Spring整合开发
1、 建立 maven web 项目
导入 maven 坐标
导入 web.xml
2、 导入实体类和 Service
3、 在 spring 配置发布 rs 服务 最终访问资源服务路径 服务器根目录地址 + web.xml 配置 + applicationContext.xml address 配置 + 类 @Path + 方法 @Path applicationContext.xml 配置重复
配置服务启动端口
4、 编写客户端代码 类似独立服务客户端代码 WebClient 工具实现 bos项目笔记之chapter04_系统分析、环境搭建(1)
|