CXF处理JavaBean以及复合类型学习笔记三
2016-11-20 18:00
399 查看
客户端传一个JavaBean,服务器端返回集合类型
Role角色实体类
接口的实现类
服务端的项目结构
注意:在使用wsdl2java工具生成客户端代码之前,必须先启动服务端,否则会报错。
程序运行效果图
第一步:在服务端创建实体类
代码如下:package com.xiaowen.model; import java.io.Serializable; /** * 用户实体类 * @author xiaowen * 2016年11月20日 */ public class User implements Serializable{ private static final long serialVersionUID = 1L; private Integer id; private String username; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
Role角色实体类
package com.xiaowen.model; import java.io.Serializable; /** * 角色实体类 * @author xiaowen * 2016年11月20日 */ public class Role implements Serializable{ private static final long serialVersionUID = 1L; private Integer id; private String roleName; public Role() { super(); } public Role(Integer id, String roleName) { super(); this.id = id; this.roleName = roleName; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } }
第二步:在服务端写个查询用户所有的角色接口
代码如下:package com.xiaowen; import java.util.List; import javax.jws.WebService; import com.xiaowen.model.Role; import com.xiaowen.model.User; @WebService public interface HelloWorld { public String say(String str); /** * 查询用户的全部角色 * @param user * @return */ public List<Role> findAllRole(User user); }
接口的实现类
package com.xiaowen.impl; import java.util.ArrayList; import java.util.List; import javax.jws.WebService; import com.xiaowen.HelloWorld; import com.xiaowen.model.Role; import com.xiaowen.model.User; @WebService public class HelloWorldService implements HelloWorld{ public String say(String str) { return "hello "+str; } public List<Role> findAllRole(User user) { List<Role> list=new ArrayList<Role>(); if(user !=null){ if(user.getUsername().equals("xiaowen")&&user.getPassword().equals("123")){ list.add(new Role(1, "技术总监")); list.add(new Role(2, "产品经理")); }else if(user.getUsername().equals("tom")&&user.getPassword().equals("123")){ list.add(new Role(3, "架构师")); }else{ list.add(new Role(4, "UI设计师")); } return list; }else{ return null; } } }
服务端的项目结构
第三步:在客户端使用wsdl2java工具生成客户端代码
生成客户端项目结构注意:在使用wsdl2java工具生成客户端代码之前,必须先启动服务端,否则会报错。
第四步:写客户端的测试类
代码如下:package com.xiaowen.test; import java.util.List; import com.xiaowen.HelloWorld; import com.xiaowen.HelloWorldService; import com.xiaowen.Role; import com.xiaowen.User; public class Client { public static void main(String[] args) { HelloWorldService service=new HelloWorldService(); HelloWorld helloWorld=service.getHelloWorldPort(); User user=new User(); user.setUsername("xiaowen"); user.setPassword("123"); List<Role> role=helloWorld.findAllRole(user); for(Role roles:role){ System.out.println(roles.getId()+","+roles.getRoleName()); } } }
程序运行效果图
相关文章推荐
- CXF处理JavaBean以及复合类型
- 4.Web Service CXF处理JavaBean以及复合类型
- 【WebService】CXF处理javaBean等复合类型以及Map等复杂类型的数据
- 【WebService】CXF处理javaBean等复合类型以及Map等复杂类型的数据
- CXF处理JavaBean以及复合类型
- 【WebService】CXF处理javaBean等复合类型以及Map等复杂类型的数据
- CXF学习04---处理MAP等CXF无法自动转换的复合数据类型的形参和返回值
- CXF-03:使用CXF处理 JavaBean 式的复合类型和 List 集合类型的形参和返回值
- CXF学习(4) 处理无法自动转换的复合数据类型
- C++学习序列笔记之数据处理(复合类型)
- 【C++ Primer】第四章学习笔记 (复合类型)
- 7.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:转换器1
- JSTL学习笔记1-----操作javabean以及属性
- 2012/1/11 《C++ Primer Plus》第四章:复合类型 学习笔记
- 1.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:服务器接口
- Effective C# 学习笔记(三十九) 使用Dynamic处理范型参数的运行时类型
- 8.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:转换器2
- JSTL学习笔记1-----操作javabean以及属性
- Flex与As3学习笔记之:Part 3 函数参数、字符串处理、日期与时间类型
- struts2系列学习笔记(8)---------------类型转换的错误处理