博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springmvc集成CXF请看教程二
阅读量:5135 次
发布时间:2019-06-13

本文共 2478 字,大约阅读时间需要 8 分钟。

转自: http://www.cnblogs.com/xiaochangwei/p/5399507.html

继上一篇webService入门之后, ,现在我将我周六在家研究的结果公布出来

 

本次集成是基于之前已经搭建好的SpringMVC+mybatis+shiro的基础上进行的,看似很简单的集成,但是由于jar包冲突,搞了好久,牺牲周六休息时间奉上结果

代码文章末尾会给出下载地址的,请大家不用担心,这些都是我搭建的,还不是很完善,要用于商业项目请修改完善。

 

步骤:

① 首先在  下载最新版本的CXF,我下载的是3.1.6

② 由于不maven项目,所以拷贝下载的cxf lib目录下的所有包到项目的lib路径下。(我在这里尝试一个个添加,后来jar包冲突了,改天优化下,找出最精简的jar包)

③ 写接口文件和接口的实现文件

    接口文件如下,需要注意的是,接口文件上要添加@WebService注解,否则待会儿接口发布后,有这个服务,却没有可供调用的接口方法(自己各种条件下的尝试,不对请拍砖)

package com.xiaochangwei.web.service;import javax.jws.WebParam;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;@WebService@SOAPBinding(style = Style.RPC)public interface WebserviceTest {        public String getUserByName(@WebParam(name = "username") String username);    public void setUser(String username);        public boolean getuser(String name, String password);        public boolean test3();}

 接口实现类如下,经测试,接口实现类不需要添加@WebService注解,当然添加了也没报错

package com.xiaochangwei.web.service.impl;import com.xiaochangwei.web.service.WebserviceTest;public class WebServiceTestImpl implements WebserviceTest {    @Override    public String getUserByName(String username) {        return "Hello:" + username;    }    @Override    public void setUser(String username) {        System.out.println("username:" + username);    }    @Override    public boolean getuser(String name, String password) {        return false;    }    @Override    public boolean test3() {        return false;    }}

④ 修改web.xml文件,在末尾增加filter配置

CXFServlet
org.apache.cxf.transport.servlet.CXFServlet
1
CXFServlet
/webService/*

⑤ 在Spring配置文件,默认为applicationContext.xml中增加下列代码,需要注意的是:请加入xsd信息 注意加大加粗的字

上面我提供了两种配置方式,请留意注意事项,

serviceClass : 配置的为接口定义类
implementor  : 配置的为接口的实现类,且接口实现类上面不需要增加@WebService注解标签

⑥ 启动tomcat并测试,启动时留意控制台可以查看配置是否可供调用。

    我的启动日志如下:

    

 

可以看到我们以两种方式配置的发布地址都成功了,现在打开浏览器进行测试,请注意后面加上?wsdl

另一个和上面这个一样,就不再截图了。

 

欢迎共勉,不对请拍砖,谢谢!

 

源码我近期整理好后上传到网盘再贴上下载地址,整理好后的源码可以直接用于商业项目开发,届时欢迎各位架构师指点下小弟

 未整理的源码下载:http://pan.baidu.com/s/1eSuIQxs (请勿用于商业项目,若需使用请完善,整理好的代码近期会更新上去)

下一篇我将发布SpringMVC下,怎么根据别人发布了的webService wsdl来进行调用

ps: wsdl 全称是 web service description language  接口的描述,如果你看到这里还不知道wsdl是什么意思,请受小弟一拜  o(∩_∩)o 哈哈

转载于:https://www.cnblogs.com/weizhxa/p/6839403.html

你可能感兴趣的文章
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
STM32单片机使用注意事项
查看>>
移动开发平台-应用之星app制作教程
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>