一、关于CXF的历史
网上可以很轻松的搜到相关的CXF历史。我就简单的说一下:CXF是一个实现Web Service的框架,由Celtix 和XFire合并而成,目前是Apache的顶级项目。webservice领域比较有名的框架目前主要还有Axis2。相比较而言,CXF更新速度较快,而Axis2已经好久没更新了。
二、使用 CXF内置的 Jetty发布 WS服务端
学习先从官网开始:http://cxf.apache.org/,左侧有个user's guide,点击进入。
官网上说,CXF目前主要有三种服务方式:SOAP、REST-ful、CORBA。
这篇博文用的是第一种服务方式,根据官方指导可知,CXF官网推荐我们使用maven构建CXF的应用,那么我们就使用maven。不会用maven的同学可以参考http://blog.csdn.net/tonytfjing/article/details/39006087
1.第一步就配置 Maven 依赖
下面是我的pom.xml。每個人可能不完全一样,但是cxf-rt-frontend-jaxws和jetty依赖不能少,也可直接复制官网提供的pom.xml,那个比较全。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>CXF</groupId>
<artifactId>CXF</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>CXF</name>
<description />
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.0.3</cxf.version>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
&