使用CXF开发WebService程序的总结(四):基于bean的客户端和服务端代码的编写

1. 在原服务端项目 ws_server中添加两个bean

1.1 添加两个类  User 和 Clazz  
package com.lonely.pojo;

public class User {

	private Integer id;

	private String username;

	private Integer classId;

	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 Integer getClassId() {
		return classId;
	}

	public void setClassId(Integer classId) {
		this.classId = classId;
	}

	public User() {
		super();
		// TODO Auto-generated constructor stub
	}

	public User(Integer id, String username, Integer classId) {
		super();
		this.id = id;
		this.username = username;
		this.classId = classId;
	}

}
package com.lonely.pojo;

public class Clazz {

	private Integer classId;

	private String className;

	public Integer getClassId() {
		return classId;
	}

	public void setClassId(Integer classId) {
		this.classId = classId;
	}

	public String getClassName() {
		return className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public Clazz() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Clazz(Integer classId, String className) {
		super();
		this.classId = classId;
		this.className = className;
	}

}
1.2 在原服务接口 HelloWs中添加一个 方法
/**
 * 根据班级id 查看该班级下的所有学生
 * 
 * @param clazz
 * @return
 */
public List<User> findUsersByClassId(Clazz clazz);
1.3 在实现类中模拟实现
@Override
	public List<User> findUsersByClassId(Clazz clazz) {
		// 这里模拟数据库查询
		if (clazz != null && clazz.getClassId() != null) {
			List<User> users = new ArrayList<>();
			if (clazz.getClassId() == 1) {
				users.add(new User(1, "独孤", 1));
				users.add(new User(2, "呵呵", 1));
			} else if (clazz.getClassId() == 2) {
				users.add(new User(3, "啧啧", 2));
			}
			return users;
		}
		return null;
	}
1.4 重新发布


2. 客户端调用

2.1 重新生成客户端代码 使用命令  wsdl2java +地址+?wsdl
2.2 测试
package com.lonely.client;

import java.util.List;

import com.lonely.server.Clazz;
import com.lonely.server.HelloWs;
import com.lonely.server.HelloWsService;
import com.lonely.server.User;

public class HelloInvoking {

	public static void main(String[] args) {
		HelloWsService helloWsService = new HelloWsService();
		HelloWs helloWs = helloWsService.getHelloWsPort();
		// System.out.println(helloWs.sayHelloWs("dugu"));

		Clazz clazz = new Clazz();
		clazz.setClassId(1);
		List<User> list = helloWs.findUsersByClassId(clazz);
		for (User user : list) {
			System.out.println(user.getUsername() + ":" + user.getClassId());
		}

	}
}
2.3 查看结果,至此 基于 普通bean的调用完成





原文地址:https://www.cnblogs.com/duguxiaobiao/p/9128828.html