cxf的使用以及与SSH的整合
经历过一小段忙碌的时间,终于有时间开始整理项目中曾遇到的技术难点,并不是什么新颖的技术难点,只是自己在这样方面所了解的不健全或者是没有了解透彻,现在都抽时间进行整理。
首先就是需要在ssh的系统中整合webService作为客户端,当时在网络上看到好多资料,道理都是对的,但是给出的包都是却三少俩的,结果自己测试了好长时间才测试出完整的包。
下面是cxf(3.0.9)整合ssh时所需要的jar,分享链接:http://pan.baidu.com/s/1c1QELag

接下来是整合ssh所需要的全部jar,分享链接:http://pan.baidu.com/s/1c1JTlQw



以上就是在使用前的包,有关与ssm整合,还未进行测试。
接下来说一下cfx在ssh中的使用,本次用的是注解开发:
首先是需要在web.xml中配置cxf servlet:
<!-- cxf servlet -->
<servlet>
<servlet-name>cxfServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cxfServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
上面代码中主要是<url-pattern>,该项配置的是webservice服务访问的父路径,也就是访问的时候需要ws/....,后面会给出详细的路径。
接下来是一个cxf与spring整合的一个配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd"> <!--
xmlns:cxf="http://cxf.apache.org/core"
发布cxf服务
address:是webservice接口路径
webservice地址是:http://localhost:8080/ws/myscxf
/ws/是在web.xml配置的cxf的servlet的拦截路径 serviceClass:就是 portType(接口类型)
--> <jaxws:server address="/mycxf" serviceClass="cn.esign.service.UnitService">
<!-- webservice服务由serviceBean指定的service进行处理 -->
<jaxws:serviceBean>
<!-- ref引用ioc容器中bean的id -->
<ref bean="unitService"/>
</jaxws:serviceBean>
</jaxws:server> </beans>
上面代码的注释中都有详细说明,只是需要注意一点,如果此处用的是注解开发,那么应该在实现UnitService接口的实现类的类名上应该加一个注解@Service("unitService"),如果用的是在配置文件中进行bean的管理,那么需要注意该bean的id。
在上面的都配置好之后,就可以在UnitService接口名上加注解@WebService,那么该接口下的方法都将以会以服务的形式暴露出来,启动之后就可以使用了,启动之后可以输入http://localhost:8080/项目名/ws/mycxf?wsdl进行访问,如果配置成功,那么网页上显示的将是一些xml代码。
客户端方面:
如果使用的是Java作为客户端,那么可以通过命令直接生成:
1、首先启动客户端
2、在命令行界面进入工作控件的src目录下
3、输入命令 wsdl2java -encoding utf-8 http://localhost:8080/项目名/ws/mycxf?wsdl
cxf的使用以及与SSH的整合的更多相关文章
- SSH 框架整合总结
1. 搭建Struts2 环境 创建 struts2 的配置文件: struts.xml; 在 web.xml 中配置 struts2 的核心过滤器; // struts.xml <?xml v ...
- SSH框架整合
SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...
- ssh注解整合
ssh注解整合 导入java包 配置struts2环境 1. 创建struts.xml配置文件 <?xml version="1.0" encoding="UTF- ...
- SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)
这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...
- dwr与ssh框架整合教程
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...
- SSH的整合
SSH的整合 struts2和hibernate的配置我这里就不多说了,先把两个有关的东西说下.一个是所有的包.struts2+hibernate3+spring2.5我包准备放上去给大家下载. ht ...
- ssh框架整合之登录以及增删改查
1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...
- Spring+Hibernate+Struts(SSH)框架整合
SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
随机推荐
- Css实现一个简单的幻灯片效果页面
使用animation动画实现一个简单的幻灯片效果. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- VR虚拟现实技术在教育领域的前景展望
VR虚拟现实技术在教育领域的前景展望 VR虚拟现实技术能迅速火起来,是基于它突破了人们对三维空间在时间与地域上的感知限制,以及市场需求愿景的升级.此技术可广泛地应用到城市规划.室内设计.工业仿真.古迹 ...
- DDD领域驱动之干活(四)补充篇!
距离上一篇DDD系列完结已经过了很长一段时间,项目也搁置了一段时间,想想还是继续完善下去. DDD领域驱动之干货(三)完结篇! 上一篇说到了如何实现uow配合Repository在autofac和au ...
- Visual Studio 中指定自定义生成事件
自定义生成事件打开方式 通过指定自定义生成事件,可以在生成开始之前或在它完成之后自动运行命令.在Visual Studio中通过右键项目->属性 进入项目属性菜单. 自定义生成事件的语法 生成事 ...
- iOS获取WIFI的IP、子网掩码,以及域名转IP
获取WIFI需要的头文件: #import "GetCurrentIP.h" #import <ifaddrs.h> #import <arpa/inet.h&g ...
- django-xadmin ModelAdmin中定义object_list_template无效的问题
环境:https://github.com/y2kconnect/xadmin-for-python3.git python3.5.2 django1.9.12 object_list_templat ...
- Lambda(Linq)
在谈到lambda表达式之前,首先要说一下委托,在下一章会详细介绍委托,在这里就是简单说明一下. 委托的关键字段delegate,声明委托 public delegate void NoReturnN ...
- asp.net mvc视图中使用entitySet类型数据时提示出错
asp.net mvc5视图中使用entitySet类型数据时提示以下错误 检查了一下引用,发现已经引用了System.Data.Linq了,可是还是一直提示出错, 后来发现还需要在Views文件夹下 ...
- web项目直接在浏览器上访问不需要带.jsp,直接ip地址加项目名 在web.xml里配置
web.xml最上方 <welcome-file-list> <welcome-file> /view/login.jsp </welcome-file> < ...
- 【SqlServer系列】表连接
1 概述 1.1 已发布[SqlServer系列]文章 [SqlServer系列]MYSQL安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 1.2 本篇 ...