经历过一小段忙碌的时间,终于有时间开始整理项目中曾遇到的技术难点,并不是什么新颖的技术难点,只是自己在这样方面所了解的不健全或者是没有了解透彻,现在都抽时间进行整理。

首先就是需要在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的整合的更多相关文章

  1. SSH 框架整合总结

    1. 搭建Struts2 环境 创建 struts2 的配置文件: struts.xml; 在 web.xml 中配置 struts2 的核心过滤器; // struts.xml <?xml v ...

  2. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  3. ssh注解整合

    ssh注解整合 导入java包 配置struts2环境 1. 创建struts.xml配置文件 <?xml version="1.0" encoding="UTF- ...

  4. SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)

    这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...

  5. dwr与ssh框架整合教程

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...

  6. SSH的整合

    SSH的整合 struts2和hibernate的配置我这里就不多说了,先把两个有关的东西说下.一个是所有的包.struts2+hibernate3+spring2.5我包准备放上去给大家下载. ht ...

  7. ssh框架整合之登录以及增删改查

    1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...

  8. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

  9. J2EE进阶(十)SSH框架整合常见问题汇总(一)

    SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...

随机推荐

  1. 使用jQuery修改动态修改超链接

    以下是修改a元素标签的href链接和文字的代码: <script type="text/javascript" src="jquery-1.9.1.min.js&q ...

  2. CSS都有哪些选择器?

    派生选择器(用HTML标签申明) id选择器(用DOM的ID申明) 类选择器(用一个样式类名申明) 属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了) 除了前3种基本选 ...

  3. 安装gcc提示no acceptable C compiler found in $PATH

    安装gcc提示no acceptable C compiler found in $PATH 从所报错可以看出是缺少了c编译器,因为gcc就是c编译器,所以没有安装gcc就没有c编译器. 之所以报这样 ...

  4. 《JavaScript高级程序设计》笔记二

    第二章 在HTML中使用JavaScript 要想把JavaScript放到网页中,就必须涉及到Web的核心语言HTML.向HTML页面中插入JavaScript的主要方法,就是使用<scrip ...

  5. php中比较两个变量是否相等的最高效写法

    <?php //php中比较两个变量是否相等的最高效写法 function isEqual($a,$b){ return $a==$b; } var_dump(isEqual(3,3));//t ...

  6. php 函数形参前面加上&

    <?php function test(&$a){ $a=$a+100; } $b=1; echo $b;//输出1 test($b);//这里$b传递给函数的其实是$b的变量内容所处的 ...

  7. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  8. WebAssembly:随风潜入夜

    What? WebAssembly 是一种二进制格式的类汇编代码,可以被浏览器加载和并进一步编译成可执行的机器码,从而在客户端运行.它还可以作为高级语言的编译目标,理论上任何语言都可以编译为 WebA ...

  9. Python 迭代器和列表解析

    Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...

  10. Button动态样式取代xml

    还在为 textview以及button 的各种样式而烦恼的童鞋们请往这里看~~~~ 一次性解决 textview以及button的样式,再也不用写xml了!!! 全部动态预设置,拒绝堆代码,拒绝xm ...