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 ...
随机推荐
- SQL Server 2012 酸爽的安装体验
电脑上已经安装了SQL Server 2008 R2,要想安装SQL Server 2012,必须先将已安装的SQL Server 2008 R2 安全卸载,否则安装过程中会报错! 使用到的卸载软件有 ...
- java 抛出异常
这种方式serviceImpl 方法不用throws异常,比较方便 if(count>0){ //或者 IllegalArgumentException java的 throw new Ille ...
- 【LeetCode】220. Contains Duplicate III
题目: Given an array of integers, find out whether there are two distinct indices i and j in the array ...
- Chapter 2. Video Formats and Quality
本章节主要介绍一些视频格式相关的基础知识. 交织(Interlace) 即每一个采样帧采样时隔行采样,奇数行和偶数行交替. YCbCr 人眼视觉系统(Human Visual System, HVS) ...
- Example017简单的下拉框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- web拖动条显示
<!DOCTYPE html"> <html> <head> <title>滚动条拖动评分的JS效果</title> <st ...
- svo笔记
使用 要想在ros中有更多的debug信息,要在global.h中把ros log的级别设为debug,最简单的就是把SVO_DEBUG_STREAM(x)改成ROS_INFO_STREAM(x) # ...
- webpack的Hot Module Replacement运行机制
使用webpack打包,难免会使用Hot Module Replacement功能,该功能能够实现修改.添加或删除前端页面中的模块代码,而且是在页面不刷新的前提下.它究竟是怎么运作的呢?本文主要从调试 ...
- 006.Adding a controller to a ASP.NET Core MVC app with Visual Studio -- 【在asp.net core mvc 中添加一个控制器】
Adding a controller to a ASP.NET Core MVC app with Visual Studio 在asp.net core mvc 中添加一个控制器 2017-2-2 ...
- Java String charAt()方法
描述 此方法返回位于字符串的指定索引处的字符.该字符串的索引从零开始. 语法 此方法定义的语法如下: public char charAt(int index) 参数 这里是参数的细节: index ...