2.1.3版cxf配置webservice备忘

以前用cxf配置webservice一直都很顺利,结合spring进行管理和注入都非常方便。近来公司需要在老框架上加入webservice,ssh的框架还是十年前的东西,新一点的cxf版本根本无法配置启动。无奈版本一直降低到了2.1.3才能正常使用。就是这么个低版本的配置让人栽了个大跟头。

配置这块其实很简单。

web.xml里要加载cxf的配置

同样是web.xml里,要配置servlet,以及监听的路径。

看看cxf的配置文件,真正的坑在这里。

<?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"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">    <!-- webservice 接口服务定义 -->    <import resource="classpath:META-INF/cxf/cxf.xml" />    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />    <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

<!-- 3.X写法 -->    <jaxws:endpoint address="/demoService" publish="true" implementor="com.demo.ws.DemoWebServiceImpl" />

  <!-- 2.X写法 -->    <jaxws:endpoint id="reportDataService" address="/reportDataService"                    implementorClass="com.demo.ws.IReportDataWsService">        <jaxws:implementor>            <bean id="reportDataServiceImpl" class="com.demo.ws.ReportDataWsServiceImpl">            </bean>        </jaxws:implementor>    </jaxws:endpoint></beans>

2.1.3版本里你要用3.X的写法,也能对外发布webservice,启动以及调用一点都不报错,但注入就完蛋了。始终是得到的null。换写法了就妥妥的。

为了保持文章完整性,说明下java类的配置。

以此几年我惨被谋杀的半个下午。
时间: 2024-11-03 06:06:42

2.1.3版cxf配置webservice备忘的相关文章

ExtJs4常用配置方法备忘

viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { bodyStyle: "background-color: #FFFFFF;", frame: true }, //split为true,即可达到上下左右拉伸效果 //layout:fit,填满布局 //collapsible:true,north模块被收缩到最上面 items: [{ re

(网页的缓存控制)HTML配置no-cache(备忘) “Cache-control”常见的取值

HTML配置no-cache(备忘) No-cache配置 html表头如下 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!-- HTTP 1.1 --> <meta http-equiv="pragma" content="no-cache"> <!-- HTTP 1.0 -->

Juniper策略路由配置(备忘)

实现思路 a) 创建独立于主路由表inet.0的路由表,即routing-instance 路由实例 b) 为这些实例(这些实例都独立于主路由表)添加相关路由条目 c) 为路由条目添加底层路由 由于每个实例之间,以及与主路由表之间都是独立的,因此在建立实例后,各个实例仅仅知道实例自己所添加的目的路由,除此之外一无所知,这就带来一个问题,因为实例所包含的路由对应的下一跳,实例路由表里并没有,所以需要将inet.0表里的直连路由添加进来(共享). d) 根据需求将不同源地址(不同策略)的数据送进不同

gitlab-ci配置疑难备忘

最近在自搭的gitlab服务器上加上了ci,大部份操作都比较顺利,但是也碰到一些问题抓狂,记录如下. 1.关于一个project配多个runner:在gitlab-ci里是支持的,但是含义确有点反常, 我之前认为是每个runner都会独立运行所有job,这样一来可以在不同的os上添加runner,以达到多平台测试的目的. 然而gitlab-ci实则对多runner的处理是当成一个资源池,由空闲runner来挑选job,那么build和test两个job可能会在不同的runner上运行,导致依赖错

光纤交换机配置(备忘)

通过以太网端口登陆,起始默认管理地址是:10.77.77.77,用户名/密码:admin/password.在连接光纤交换机的电脑上配置同网段的地址,在IE中输入管理地址,就可以登陆.注意:连接的电脑需要安装jre1.4以上,网页才能正常显示.一.建立存储和主机HBA卡别名 二.创建Zone. 每HBA卡对应的交换端口和对应的存储交换端口需要在一个Zone 内. 创建主机Zone,将前面的主机和存储别名加入到Zone内. 建立Zone配置文件,保存并启用. 4.将对应的主机Zone 加入到配置文

Tomcat JS资源压缩配置修改(备忘)

server.xml 修改前: <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="400" acceptCount="200" redirectPort="8443" URIEncoding=&q

CXF创建webservice客户端和服务端

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui0317/article/details/9320053 一.CXF的介绍 Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成.CXF框架是一种基于servlet技术的SOA应用开发

基于Spring和CXF的webservice开发环境搭建

使用CXF发布webservice服务时,规范的做法是先书写一个接口,用以声明服务类型. 基于Spring和CXF开发web service的框架搭建 一.创建web项目 Eclipse中新建一个dynamic webproject,命名为:CXFTest 二.导入需要的jar包 把下载的CXF项目的解压缩文件中lib文件夹下的所有jar包拷贝到WebContent->WEB-INF->lib文件夹下 三.创建服务接口 在Java resource->src目录下新建package包:c

WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService进行信息数据的操作.下面就将我们在开发中摸索的一点经验教训总结以下,以供大家参考. 我们项目的整个架构使用的比较流行的WSH MVC组合,即webwork2 + Spring + Hibernate; 1.首先集成Apacha CXF WebService 到 Spring 框架中; apache