使用CXF开发WebService程序的总结(四):基于bean的客户端和服务端代码的编写
1. 在原服务端项目 ws_server中添加两个bean
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. 客户端调用
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的客户端和服务端代码的编写的更多相关文章
- 使用CXF开发WebService程序的总结(五):基于Map数据类型处理的的客户端和服务端代码的编写
1. 首先我们按照List或数组等处理方式来处理Map,看看效果 1.1 在服务端的接口中添加以下方法 /** * 查询所有班级信息加上对应的学生列表 * * @return */ public Ma ...
- 根据wsdl,apache cxf的wsdl2java工具生成客户端、服务端代码
根据wsdl,apache cxf的wsdl2java工具生成客户端.服务端代码 apache cxf的wsdl2java工具的简单使用: 使用步骤如下: 一.下载apache cxf的包,如apac ...
- 使用CXF开发WebService程序的总结(六):结合拦截器使用
1. 使用CXF提供的拦截器 拦截器在我看来分为两端两向,两端分为:客户端和服务端,两向(方向)分为:进(in)和出(out),即大致四类拦截器. 在这里利用cxf提供的 日志拦截器举例 1.1 在服 ...
- 使用CXF开发WebService程序的总结(三):创建webservice客户端
1.创建一个maven子工程 ws_client,继承父工程 1.1 修改父工程pom配置 <modules> <module>ws_server</module> ...
- 使用CXF开发WebService程序的总结(七):Spring+CXF+Mybatis+Mysql共同打造的服务端示例
通过该demo,可以 熟悉下 spring+cxf+maven+mybatis+mysql等常见后端技术整合 1. 在前面的 父工程 ws_parent 中 添加依赖 由于原来的项目是使用的cxf依赖 ...
- spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)
这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据: WebSer ...
- (四)XML基础(客户端和服务端发送与接收xml数据)
案例: index.jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...
- 使用GSoap开发WebService客户端与服务端
Gsoap 编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现, 从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多. 用gsoap开发web service的大致思路 我 ...
- 【WebService】使用CXF开发WebService(四)
CXF简介 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix ...
随机推荐
- C++入门经典-例2.9-输出十六进制数以及大写的十六进制数
1:代码如下: #include "stdafx.h" #include <iostream> #include <iomanip> using names ...
- SSH三大框架整合配置详解
首先,三大框架整合,肯定是要导入相当多的jar包,这是不容置疑的! 这里就不一一列举了,直接截图吧: (1) 基于配置文件的整合: 第一步:我们需要在we ...
- 使用OMF特性
Oracle 的OMF全称"Oracle managed file",关于这个概念的参考请自行查阅Oracle官方文档"Using Oracle-Managed File ...
- 关于ArrayList的越界问题?
大家都知道 ArrayList是自动扩容的. 那为什么会存在越界问题? 话不多说 上代码 package test; import java.util.ArrayList; public class ...
- Git检出和提交至远程仓库
步骤一:首先需要一个Github账号,还没有的话先去注册:https://github.com/,我们使用Git需要先安装Git工具,这里给出下载地址:https://git-for-windows. ...
- 代码实现:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
package com.loaderman.Coding; import java.util.Scanner; /*利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分 ...
- 降级、熔断、限流[z]
[z]https://juejin.im/post/5cced96e6fb9a032514bbf94当我们的系统的访问量突然剧增,大量的请求涌入过来,最典型的就是秒杀业务了,我们可能会知道会有一波高峰 ...
- Linux安装和配置java
安装文件:jdk-6u45-linux-x64.bin 1.root用户在/usr/local目录下建立java目录 2.拷贝jdk-6u45-linux-x64.bin到/usr/local/jav ...
- git clone的代码没有前端代码
需要切换到文件夹目录下,然后 git checkout dev 切换到开发环境(其实是切换到了dev分支) 后来查看分支,发现有两个分支:master 和 dev . ================ ...
- 新增存储用Parted分区并建LVM卷
新增存储用Parted分区并建LVM卷 一,Parted分区 1,parted分区 www.ahlinux.com # parted /dev/sda GNU Parted 2.1 使用 /dev/ ...