Apache CXF 101 Win Eclipse开发环境搭建
前言
博客草稿中“SOA生态系统初探”一文一直没有进展,感觉要将SOA、Web Service(WS)、REST等概念阐述清楚还需要一些酝酿。
顶天须得立地,这里记录一些“下里巴人”的实践,主要考察Apache Axis2和Apache CXF两个Java服务开发框架,首先从CXF着手。
目录
1 工具
2 Eclipse中Apache CXF配置
3 运行实例
4 参考资料
内容
1 工具
Windows 7
Eclipse Juno(4.2.0, JEE version, build-id: 20120614-1722)
Apache CXF 2.4.2(较新版本2.7.11在配置过程中莫名其妙的出现一些错误,回退到较低版本),将CXF解压目录记为CXF_HOME
Apache Tomcat 7.0
2 Eclipse中Apache CXF配置
Window->Preferences->Web Services->CXF 2.x Preferences->CXF Runtime中添加运行时,指定CXF解压目录即可
3 运行实例
预期目标:自底向上(bottom-up)创建WS,将WS部署到Servlet容器中,观察服务的WSDL、通过浏览器调用WS接口。
创建Dynamic Web Project项目
项目结构(添加index.html)
预期的Project Facets
Before
After
编写服务实现类
package com.spike.cxf; import javax.jws.WebService; /** * Description: HelloService Implementation<br/> * Date: 2014-5-11 下午7:59:33 */ @WebService(targetNamespace = "http://cxf.spike.com/", portName = "HelloServiceImplPort", serviceName = "HelloServiceImplService") public class HelloServiceImpl { public String getVersion() { return "1.0"; } public String greeting(String user) { return "Hello " + user + "!"; } }
基于Dynamic Web Project添加CXF Facets:右键服务实现类,Generate Web Service
配置WS类型
服务端点接口(SEI)选择或创建,这里默认
选择服务方法注解,这里默认
CXF Java2WS配置,这里默认
启动服务(实际是Servlet容器)等待
服务发布方式设置,这里默认
点击Finish后项目结构
Package Explorer
Project Explorer
Servlet容器的“配置”,端口选用了8082
访问服务http://localhost:8082/CXF/services
点击WSDL链接http://localhost:8082/CXF/HelloServiceImplPort?wsdl
调用服务接口方法
(1)http://localhost:8082/CXF/services/HelloServiceImplPort/getVersion
(2)http://localhost:8082/CXF/services/HelloServiceImplPort/greeting?arg0=zhoujiagen
4 参考资料
[1] JAX-WS with Apache CXF and Eclipse
[step1] http://angelozerr.wordpress.com/2011/08/23/jaxwscxf_step1/
[2]
JAX-WS with Apache CXF and Eclipse
[step2] http://angelozerr.wordpress.com/2011/08/24/jaxwscxf_step2/