WebService小白学习 之 处理JavaBean以及复合类型,list (4)
上篇 WebService小白学习 之 开发WebService客户端,使用cxf工具生成文件
本篇WebService处理JavaBean以及复合类型,list
实现过程:
1、在服务端项目,创建包com.gx.entity,再创建User.java,Role.java
package com.gx.entity;
public class User {
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;
}
}
package com.gx.entity;
public class Role {
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;
}
}
2、在IHelloWorld.java(原服务端项目的)添加方法声明getRoleByUser(User user)
package com.gx.webservice;
import java.util.List;
import javax.jws.WebService;
import com.gx.entity.Role;
import com.gx.entity.User;
@WebService
public interface IHelloWorld {
public String say(String str);
public List<Role> getRoleByUser(User user);//通过用户获取角色
}
3、在HelloWorldImpl.java(原服务端项目的)添加实现方法,模拟数据
package com.gx.webservice.impl;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
import com.gx.entity.Role;
import com.gx.entity.User;
import com.gx.webservice.IHelloWorld;
@WebService
public class HelloWorldImpl implements IHelloWorld{
public String say(String str) {
return "hello "+str;
}
@Override
public List<Role> getRoleByUser(User user) {
//模拟 数据
List<Role> rolelist = new ArrayList<>();
if(user!=null){
if(user.getUsername().equals("sa") && user.getPassword().equals("123")){
rolelist.add(new Role(1, "技术总监"));
rolelist.add(new Role(2, "架构师"));
}else if(user.getUsername().equals("zj") && user.getPassword().equals("123")){
rolelist.add(new Role(3, "程序员"));
}
}
return rolelist;
}
}
4、客户端项目重新生成文件,在上篇已经说过了,忘记看这里,注意要启动服务。
5、客户端测试Client.java
package com.gx.webservice;
import java.util.List;
public class Client {
public static void main(String[] args) {
IHelloWorldService service = new IHelloWorldService();
IHelloWorld helloworld = service.getIHelloWorldPort();
//System.out.println(helloworld.say("zj"));
User user = new User();
user.setUsername("sa");
user.setPassword("123");
List<Role> rolelist = helloworld.getRoleByUser(user);
for (Role role : rolelist) {
System.out.println(role.getId()+","+role.getRoleName());
}
}
}
结果:
下篇