天天看点

webservice入门之CXF教程1.CXF简介    2.CXF下载和安装3.Web Service注释介绍4.使用CXF开发web service

apache cxf是一个开源的service框架,可以用于简化用户的service开发,基于cxf开发的应用可提供soap、xml/http、restful http或corba等服务。cxf底层页可以使用不同的传输协议,包括http、jms或jbi等。

    根据cxf官方的说明,cxf包含以下特性:

    支持大量的web service标准,包括soap、ws-i basic profile、wsdl、ws-addressing、ws-policy、ws-reliablemessaging和ws-security。

cxf支持大量的前端(frontend)编程模型。cxf实现了标准的jax-ws api,它也包括一种被称为简单前端(simple frontend)的模型,这种模型无需annotation支持。cxf支持web service的两种开发模式:①规则(contract)优先的开发模式,即通过编写wsdl来开发web service;②代码优先的开发模式,即通过编写java代码来开发webservice.

    说了这么多,下面来看看如何使用cxf。

    下载并安装cxf步骤如下:

    (1)登陆cxf官方站点:http://cxf.apache.org/,下载cxf最新版。笔者下载的为3.0.1版。

    (2)将下载得到的压缩包解压得到apache-cxf-3.0.1文件夹,进入该文件夹可以看到文件夹中包含如下所示的目录结构。

        bin:该目录下保存了cxf提供的一些小工具,这些工具的主要作用是完成根据wsdl代码生成java代码,以及根据wsdl代码生成javascript代码等代码生成任务。

        docs:该目录下有一个api子目录,其中保存了cxf的api文档。

        etc:该目录主要存放了cxf框架的一些杂项。

lib:该目录存放了cxf的核心类库以及编译和运行所依赖的第三方类库。

licenses:该目录下存放cxf以及第三方框架的授权文件。

modules:该目录下存放cxf按模块打包的jar包。

samples:该目录下存放了cxf的大量示例应用。这些应用是学习cxf极好的资料。

license和readme等文档

(3)将解压路径下的bin目录添加到系统的path环境变量,以便操作系统能找到bin目录下的命令,方便以后使用cxf提供的小工具。

(4)为了在项目中使用cxf框架,需要将lib文件夹下的jar包添加到项目中。

webservice注释主要有:

@webservice:定义服务,用在类上

@webmethod:定义方法,用于方法上

@webresult:定义返回值,用在方法上

@webparam:定义参数,用在方法上

    由于是初学,这里先写一个最简单的hello world。

        (1)eclipse下创建一个新的java项目cxftest

(2)把cxf解压缩目录下bin文件夹中的jar包添加到项目中

(3)在src目录下新建一个package包,命名为test,然后新建一个接口helloworld.java,源码为:

(4)在test包中创建helloworld接口的实现类helloworldimpl,代码为:

(5)创建主类mainserver,用来发布webservice

执行服务端代码,可以看到eclipse输出如下,说明webservice成功发布

webservice入门之CXF教程1.CXF简介    2.CXF下载和安装3.Web Service注释介绍4.使用CXF开发web service

在浏览器输入如下地址http://localhost:8080/helloworld?wsdl,可以访问该webservice服务的wsdl

(6)创建调用webservice的客户端代码

就可以通过客户端访问webservice服务了。