josson.jin
天地生人,有一人应有一人之业;人生在世,生一日当尽一日之勤!
BlogJava
首页
新随笔
新文章
联系
聚合
管理
posts - 122, comments - 25, trackbacks - 0
Apache CXF 学习笔记
Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目。
一、与Axis2的不同之处
1、Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile
2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本里得到支持
3、Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合
4、Axis2 不是
5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。
6、Apache CXF 目前仅支持 JAXB 和 Aegis,并且默认是 JAXB 2.0,与 XFire 默认是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持,目前版本是 2.0.2
7、Axis2 支持多种语言,它有 C/C++ 版本。
8、Apache CXF 提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services
二、A simple JAX-WS service
原文见
http://cwiki.apache.org/CXF20DOC/a-simple-jax-ws-service.html
a). 设置构建路径,将下列jar包放到项目中
the CXF distribution
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.0.jar
jaxb-impl-2.0.5.jar
jaxws-api-2.0.jar
jetty-6.1.5.jar
jetty-util-6.1.5.jar
neethi-2.0.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.2.jar
xml-resolver-1.2.jar
Spring jars
aopalliance-1.0.jar
spring-core-2.0.4.jar
spring-beans-2.0.4.jar
spring-context-2.0.4.jar
spring-web-2.0.4.jar
CXF jar
cxf-2.0-incubator.jar
b). 编写Service代码
接口HelloService.java
package
demo.cxf.server;
import
javax.jws.WebParam;
import
javax.jws.WebService;
@WebService
public
interface
HelloService
{
public
String sayHello(@WebParam(name
=
"
text
"
)String text);
}
实现类HelloServiceImpl
package
demo.cxf.server;
import
javax.jws.WebService;
@WebService(endpointInterface
=
"
demo.cxf.server.HelloService
"
,serviceName
=
"
helloService
"
)
public
class
HelloServiceImpl
implements
HelloService
{
public
String sayHello(String text)
{
return
"
Hello
"
.concat(text);
}
}
c). 发布服务
System.out.println(
"
Starting Server
"
);
HelloServiceImpl impl
=
new
HelloServiceImpl();
String addr
=
"
http://localhost:80/helloService
"
;
Endpoint.publish(addr,impl);
d). 客户端调用
JaxWsProxyFactoryBean factory
=
new
JaxWsProxyFactoryBean();
factory.getInInterceptors().add(
new
LoggingInInterceptor());
factory.getOutInterceptors().add(
new
LoggingOutInterceptor());
factory.setServiceClass(HelloService.
class
);
factory.setAddress(
"
http://localhost:9000/helloService
"
);
HelloService service
=
(HelloService)factory.create();
String reply
=
service.sayHello(
"
cxf.
"
);
System.out.println(reply);
System.exit(
0
);
posted on 2007-11-21 23:01
josson
阅读(998)
评论(0)
编辑
收藏
所属分类:
java 开发
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
基于客户端(浏览器)证书身份认证的方法
Java序列化算法原理
GC垃圾回收机制
通用业务引用查询服务实现
通过Findbugs 找出程序中隐藏的bug
java反编译工具
Eclipse 常用插件.
ibatis 自动生成的主键
项目构建工具之Maven
AXIS快速生成客户端调用文件
<
2007年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
Hibernate(2)
java 开发 (31)
Linux(13)
Spring(4)
web开发(20)
即时通讯(2)
大杂烩(15)
数据库(7)
软件设计(2)
问题记录(1)
项目管理(8)
随笔档案
2011年12月 (2)
2011年6月 (1)
2011年5月 (1)
2011年2月 (1)
2011年1月 (3)
2010年12月 (3)
2010年11月 (1)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年4月 (3)
2009年11月 (1)
2009年9月 (3)
2009年8月 (1)
2009年7月 (1)
2009年6月 (2)
2009年5月 (1)
2009年3月 (4)
2009年2月 (1)
2009年1月 (1)
2008年12月 (2)
2008年11月 (1)
2008年10月 (1)
2008年9月 (2)
2008年8月 (1)
2008年7月 (3)
2008年6月 (2)
2008年5月 (2)
2008年3月 (2)
2008年1月 (15)
2007年12月 (8)
2007年11月 (15)
2007年7月 (2)
2007年6月 (3)
2007年5月 (7)
2007年4月 (7)
收藏夹
EXT(6)
java 开发(13)
Linux(3)
SWT/JFace(1)
开源(1)
搜索技术(1)
搜索
最新评论
1. re: iframe 高度自适应
1909434428@qq.com
--3a教程
2. re: firefox中证书的使用
thanks
--mroff
3. re: IE7 对话框样式[未登录]
fsdfsdf
--dd
4. re: Debian 修改IP地址或DNS
IP地址配置文件: "/etc/network/interface" 文件少了个s
/etc/network/interfaces
--debian
5. re: dhtmlxTree 使用示例
rt
--tr
阅读排行榜
1. Debian 修改IP地址或DNS(14053)
2. iframe 高度自适应(9293)
3. Linux 抓包分析工具。(8761)
4. dhtmlxTree 使用示例(8340)
5. Mysql 自启动脚本(4783)
评论排行榜
1. DWR Reverse 一些细节(4)
2. DWR 跨域请求(3)
3. Linux启动级别&Samba服务自启动设置(2)
4. iframe 高度自适应(2)
5. Ie 8 的window.open打开新窗口无反应问题。(2)