CXF框架入门实例
CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。
它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。
在apache cxf官网提供了cxf较全面的帮助文档,英语教好的童鞋可以到这个地址学习:http://cxf.apache.org/docs/index.html
?
下面就以官网教程为例,简单介绍下cxf的使用。
?
1、依赖的jar包
去官网下载cxf压缩文件:http://cxf.apache.org/download.html
解压后,把apache-cxf-2.4.1\lib目录下的jar包引用到java项目中
?
2、JAX-WS简单实例
?首先编写一个ws接口:
?此时注解WebService内还有三个属性:
endpointInterface表示webservice接口名,因为一个类可以继承多个接口,你必须指明哪个是webservice接口
serviceName:表示当前webservice的别名
portName:表示当前webservice的端口名
这些属性定义好之后,在wsdl中是能看到的,如果不定义,cxf会配置默认的别名和端口名
?
最后一步部署webservice:
?
大家可以通过java代码测试(测试时把上一步配置的beans.xml文件放在src根下面):
?
?
如果是web项目,那么你需要配置web.xml文件:
?
?
1 楼 234390216 2011-06-27 看了官网的介绍,还是没有明白这东西在具体项目中到底有什么用?还请楼主给我解释一下,谢谢! 2 楼 白糖_ 2011-06-27 234390216 写道看了官网的介绍,还是没有明白这东西在具体项目中到底有什么用?还请楼主给我解释一下,谢谢!
我也是刚学习,就我最近看的资料,我是这样理解的:
CXF的目的是为了开发web service,web service是SOAP的具体实现,web service的一个主要作用是解决不同语言通信的问题。举个例子,现在iteye不是希望和csdn整合吗(iteye用的ruby语言,csdn用的asp.net),你看iteye上的通告,以后可以用csdn帐号登录了。那么这个登录系统肯定是在iteye下的,但是帐号密码一定要发送给csdn验证,ruby怎么把帐号密码发给asp.net?不同语言怎么识别?这里就用到web service了,因为web service是一个统一标准,asp.net可以定义一个登录验证的web service接口,提供一个checkLogin方法,参数是传入帐号密码,具体实现是asp.net内部的事,如果验证成功则返回true即可:public bool checkLogin(string loginCode,string password); 因为web service本身规则比较多,为了减少我们程序员的负担,往往会有一些框架来实现web service,比如java的CXF,.net也会有自己的框架,最后web service编写成功后通过部署到服务器,ruby就可以通过web service的形式调用asp.net代码了,这样就实现了不同语言的通信。
以上是个人理解。