系列博文:
分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客
分布式.RPC-WebService三要素,三个规范, Soap协议_闲猫的博客-CSDN博客
分布式.RPC-WebService入门案例(java实现,注解实现,xsd文件解析,wsdl文件解析)_闲猫的博客-CSDN博客
分布式.RPC调用-RMI & Hessian框架_闲猫的博客-CSDN博客
目录
CXF与spring整合开发REST风格webservice
入门案例
服务端:
步骤:
- 创建java工程,引入cxf的jar包
- 测试
- 发布服务
- 编写服务类
- 编写实体类
实现:
1. 创建java工程,引入cxf的jar包
2. 编写实体类
实体类添加@XmlRootElement可以自动将实体类转换为XML或json,如果不添加此注解,将会出现下列错误。
3. 编写服务类
4. 发布服务
5. 测试
客户端:
1. 创建java工程,引入cxf的jar包
2. 创建实体类(和服务端相同)
注意:同样的也必须加注解@XMLRootElement,如果没加注解就报如下错误:
javax.ws.rs.client.ClientException: .No message body reader has been found for class : interface java.util.Collection, ContentType : application/xml.
3. 编写代码获取结果
还可以这样写:
获取列表的处理
获取列表
服务端:
只需要将返回值给成列表即可,不需要其他特殊处理。
测试:
使用的地址类似单个对象一样,没什么特殊的。
客户端:
获取是的方法变了,有get(class) 变成了getCollection(class)
提交数据
服务器:
客户端:
提交列表
服务器:
客户端
或者:
测试:
客户端的两个提交方式都没问题,但因为ArrList没有注解就导致无法编为xml格式的数据,就报一下错误:
javax.ws.rs.client.ClientException: .No message body writer has been found for class : class java.util.ArrayList, ContentType : application/xml.
解决:
暂时没有解决方案。
产生获取JSON数据
服务端:
测试结果:
客户端:
CXF与spring整合开发REST风格webservice
步骤:
1. 创建web工程 ,添加cxf的jar包 applicationContext.xml
2. 修改web.xml 添加spring监听和cxfservlet
3. 创建dao和实体类(注意添加注解)
4. 编写服务类
5. 编写applicationContext,xml
6. 测试
HttpClient调用REST风格webservice
获取会员信息
我们需要构建一个与json字符串结构相同的实体类来接收结果
FASTJSON特点:
- 快
- 轻
- 易
获取会员列表
编写实体类,有集合类型的属性,用来接收集合类型的结果
提交会员信息
END