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的调用完成


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

  1. 使用CXF开发WebService程序的总结(五):基于Map数据类型处理的的客户端和服务端代码的编写

    1. 首先我们按照List或数组等处理方式来处理Map,看看效果 1.1 在服务端的接口中添加以下方法 /** * 查询所有班级信息加上对应的学生列表 * * @return */ public Ma ...

  2. 根据wsdl,apache cxf的wsdl2java工具生成客户端、服务端代码

    根据wsdl,apache cxf的wsdl2java工具生成客户端.服务端代码 apache cxf的wsdl2java工具的简单使用: 使用步骤如下: 一.下载apache cxf的包,如apac ...

  3. 使用CXF开发WebService程序的总结(六):结合拦截器使用

    1. 使用CXF提供的拦截器 拦截器在我看来分为两端两向,两端分为:客户端和服务端,两向(方向)分为:进(in)和出(out),即大致四类拦截器. 在这里利用cxf提供的 日志拦截器举例 1.1 在服 ...

  4. 使用CXF开发WebService程序的总结(三):创建webservice客户端

    1.创建一个maven子工程 ws_client,继承父工程 1.1 修改父工程pom配置 <modules> <module>ws_server</module> ...

  5. 使用CXF开发WebService程序的总结(七):Spring+CXF+Mybatis+Mysql共同打造的服务端示例

    通过该demo,可以 熟悉下 spring+cxf+maven+mybatis+mysql等常见后端技术整合 1. 在前面的 父工程 ws_parent 中 添加依赖 由于原来的项目是使用的cxf依赖 ...

  6. spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)

    这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据: WebSer ...

  7. (四)XML基础(客户端和服务端发送与接收xml数据)

    案例: index.jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  8. 使用GSoap开发WebService客户端与服务端

    Gsoap 编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现, 从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多. 用gsoap开发web service的大致思路 我 ...

  9. 【WebService】使用CXF开发WebService(四)

    CXF简介 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix ...

随机推荐

  1. uni-app tabBar 踩坑

    { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { "pa ...

  2. 胜利点20191010-6 alpha week 1/2 Scrum立会报告+燃尽图 04

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8749 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  3. leetcode-easy-math-412 Fizz Buzz

    mycode  99.06% class Solution(object): def fizzBuzz(self, n): """ :type n: int :rtype ...

  4. 运行上次失败用例(--lf 和 --ff)

    前言 “80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多“平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了,当开发修复完bug后,我们一般是重点测 ...

  5. VirtualBox-5.2.8-121009-Win.exe虚拟机桥接

  6. TCP/IP笔记——TCP特点、首部格式、滑动窗口

    这次总结一下TCP相关的知识. TCP主要特点 面向连接:在通信前必须建立连接(只是逻辑上存在,而不是物理连接) 只能有两个端点:即只能一对一通信(所以通常p2p是用UDP实现的) 提供可靠交付服务: ...

  7. 关于ElementUI中日期选择器时间选择范围限制

    1.组件代码 <el-date-picker v-model="value1" type="date" placeholder="选择日期&qu ...

  8. 常用DOS命令及编程软件fa

    1.常用的dos命令(应用) 在接触集成开发环境之前,我们需要使用命令行窗口对Java程序进行编译和运行,所以需要知道dos命令. 打开命令行窗口的方式:win + r打开运行窗口对java程序进行编 ...

  9. 第五周课程总结&实验报告(三)

    实验三 String类的应用 实验目的: (1)掌握类String类的使用: (2)学会使用JDK帮助文档: 实验内容: 1.已知字符串:"this is a test of java&qu ...

  10. CentOS7Linux中服务器LVS负载均衡、高可用集群搭建(NAT、DR);

    目录 集群 声明 集群概念 集群特性 Web服务器并发相应瓶颈 集群的分类 LB实现方法: LVS集群 负载调度器 服务器池 共享存储 LVS负载均衡的三种模式 负载均衡 集群 声明 文档不断更新中. ...