Spring 与CXF整合(spring3.2,cxf3.1.11)
1,jar包导入,从官网下载zip文件后里面会有很多jar包,哪些必须哪些不是必须,我能力有限,从其他人那参考了导入的一下jar包。
2、配置相关文件
web.xml中配置servlet
<servlet>
<servlet-name>CXFService</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFService</servlet-name>
<url-pattern>/zxg/*</url-pattern> //此处用于访问时的路径比如 项目名称/zxg ,自己随意改
</servlet-mapping>
3、配置到spring中
我的是apllication-context.xml中
<jaxws:endpoint id="userService" 接口名称
implementor="com.webservice.spring.UserWSImpl" 接口的实现类
address="/webservice"> 系统自动给zxg后面追加的地址,自己随意改
</jaxws:endpoint>
4、服务端其实就是将一个方法进行了发布,说直白就是一个特殊的方法,就是写一个接口,再写一个接口实现类,在实现类中做一些业务处理,再返回相应处理结果,把代码贴一下,三个类
@WebService
public interface UserWS {
public User1 getUserById(long id);
}
@WebService
public class UserWSImpl implements UserWS{
@Override
public User1 getUserById(long id) {
User1 user = new User1();
user.setAge(18);
user.setName("张三");
user.setId(1);
return user;
}
}
@SuppressWarnings("serial")
public class User1 implements Serializable {
private int id;
private String name;
private int age;
private String description;
public User1() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
5、启动项目访问wsdl看是否成功localhost:8080/myFirstBlood/zxg/webservice?wsdl
6、成功后,将cxf配置到系统变量中,通过dos命令生成客户端代码,这个网上教程比较多,而且没有啥大难度,不写了
7、客户端做好后,一般调用时会报错说类名重复一类的,需要做的就是将每一个get*这样的类中的方法中@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getUserById1", propOrder = {
"arg0"
})中name的名称改一下,比如这个加了一个1.接口中方法越多自动生成的get方法也多,需要每一个都改。这样总体就没啥错误了。
8、客户端test
public class Test {
public static void main(String[] args) {
UserWSImplService ui = new UserWSImplService();
UserWS uws = ui.getUserWSImplPort();
User1 user = uws.getUserById(1);
System.out.println(user.getName());
}
}
Spring 与CXF整合(spring3.2,cxf3.1.11)的更多相关文章
- spring与cxf整合配置webservice接口(以jaxws:server的方式配置)
ps:最近项目需要跟其他系统做同步,需要使用webservice来提供接口给其他系统调用:临时抱佛脚赶紧去网上找了下资料,发现用Endpoint的方式发布接口好容易哦:赶紧写了个例子做验证,发布成功. ...
- spring 与 CXF 整合 webservice 出现error “Unable to locate Spring NamespaceHandler for XML schema namespace” 总结
我试了多个版本的spring 发现 出现error : Unable to locate Spring NamespaceHandler for XML schema namespace 并非都是sp ...
- Spring 、 CXF 整合 swagger 【试炼】
官网:http://swagger.io/ http://swagger.io/specification/ 上面就是描述了什么是 SWAGGER OBJECT 2. 如何用jax-rs 注解方式产生 ...
- Spring与CXF整合
1.首先引入CXF相关jar包以及spring相关jar包,因项目是maven项目,所以直接在pom.xml文件中引入以下依赖即可(以下只是CXF的依赖包,Spring的也要引入,相关的依赖参考我博客 ...
- Spring和CXF整合时报Unsupported major.minor version 51.0异常
好吧,官网上有写:The current plan is that CXF 3.1 will no longer support Java 6 and will require Java 7 or n ...
- WebService之Spring+CXF整合示例
一.Spring+CXF整合示例 WebService是一种跨编程语言.跨操作系统平台的远程调用技术,它是指一个应用程序向外界暴露一个能通过Web调用的API接口,我们把调用这个WebService的 ...
- 【Java EE 学习 81】【CXF框架】【CXF整合Spring】
一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一 ...
- webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成
首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...
- WebService学习之三:spring+cxf整合
步骤一:spring项目(java web项目)引入CXF jar包 步骤二:创建webservice服务器 1)创建一个服务接口 package com.buss.app.login; import ...
随机推荐
- CF859C Pie Rules 动态规划 逆推_思维题
题意:有 nnn 个物品,每个物品有不同的价值,物品按顺序分给两个人,有一块令牌,每回合拥有令牌的人拥有物品的分配权,但是该回合未获得物品的那个人会在下回合获得令牌,开始令牌在Bob手里,两个人都采取 ...
- JS中的与冒号的作用、箭头函数相关的一道题
相关知识来自于一道题: 使用ES6的箭头函数语法可以直接省略 function 和 return 关键字,比如 function (){return 1;} 就可以简化成 () => 1 , 但 ...
- CF343E Pumping Stations(最小割树)
没学过最小割树的出门左转. 我们已经知道了两点的最小割就是最小割树上,对应两点之间路径的权值的最小值. 找到最小割树中权值的最小的边. 那么一定是先选完一侧的点在选完另一侧的点. 因为当前边最小,那么 ...
- HDU 6125 Free from square (状压DP+分组背包)
题目大意:让你在1~n中选择不多于k个数(n,k<=500),保证它们的乘积不能被平方数整除.求选择的方案数 因为质数的平方在500以内的只有8个,所以我们考虑状压 先找出在n以内所有平方数小于 ...
- [USACO15DEC]最大流Max Flow
树剖LCA+树上差分. 树上差分的基本操作. #include <queue> #include <iostream> #include <cstdio> usin ...
- ubuntu18.04crontab定时任务不执行
环境介绍: 本人使用python写了一个自动化提交巡检的脚本放在服务器上,使用crontab去执行脚本的时候动作并没有执行,查看crontab日志时也不存在这个日志文件.如何如排查呢? 解决方案: 步 ...
- Unity 多场景打包
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50580641 作者:car ...
- ANY和ALL
8.在WHERE中使用ANY和ALL条件 字段 >ANY(值1,值2,值3...):字段值大于集合任何一个 值就算满足条件. 字段 >ALL(值1,值2,值3... ...
- 洛谷 P1894 [USACO4.2]完美的牛栏The Perfect Stall
P1894 [USACO4.2]完美的牛栏The Perfect Stall 题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星 ...
- cogs 304. [NOI2001] 方程的解数(meet in the middle)
304. [NOI2001] 方程的解数 ★★☆ 输入文件:equation1.in 输出文件:equation1.out 简单对比时间限制:3 s 内存限制:64 MB 问题描述 已 ...