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());
		}
 		
	}
	
}

结果:

下篇

WebService小白学习 之 处理一些Map等复杂类型

原文地址:https://www.cnblogs.com/qq1995/p/10358987.html