浏览 18636 次
锁定老帖子 主题:何为CXF?
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-25
前几天碰见同学问我在忙什么, 我说我在做开源软件CXF。随后的问题就是CXF能做什么? 我简单想了一下,要回答好这个问题还不太容易,因为一下子好多答案都浮现在我的脑海里。 在发布你的应用之前你需要告诉CXF两个信息, 一个是 WSDL Contracts,一个是你服务应用的具体实现。 熟悉WSDL的朋友应该知道,WSDL提供了Web Servcies的服务描述,定义服务所提供的操作信息,以及操作支持消息数据信心。我们可以把这些信息称为是WSDL contracts。在CXF内部是通过 Service Model来描述这些WSDL Contracts的,这样做的目的有两个一个是屏蔽了WSDL1.1 与WSDL2.0之间的区别,另一个是为CXF内部运行环境提供了一个统一的服务信息描述接口。 这样以来我们可以很轻松的实行 WSDL <--> ServiceModel <--> Java Class Service Endpoint Interface(SEI)的转换。 同时CXF可以同时支持WSDL First以及 Code First两种编程模型。 服务的实现可以是POJO ,也可以是使用JSR181标记过(Annoatated)的Java类实现,同时也可以是一个js文件。在CXF中通过不同的Front-End来支持这些不同的服务实现。 JAX-WS Front-End支持采用JAX-WS API创建服务。Simple Front-End 支持POJO服务实现。 JS Front-End则提供了java script服务实现的支持。 大家可以通过下面的例子来了解如何通过CXF来发布一个Web Services (注意这里采用的CXF Simple Fronte-End API来创建服务,你还可以使用JAX-WS API来创建服务) Hello.java
java 代码
HelloImpl.java java 代码
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-30
好象有错误,不能成功
|
|
返回顶楼 | |
发表时间:2007-07-30
想知道jetty(web服务器)也糅在一起,如何能脱离jetty
|
|
返回顶楼 | |
发表时间:2007-07-30
我的搞了后为什么没有Hello.wsdl,用http://localhost/cxf/services显示为HelloPort,一点击却没有wsdl
|
|
返回顶楼 | |
发表时间:2007-08-03
jnn 我知道cxf实现了异步调用的webservice
能不能谈谈这个 demo里面的那个例子 不好运行 |
|
返回顶楼 | |
发表时间:2007-08-07
[quote="溪流汇海"]好象有错误,不能成功[/quote]
可否把相信错误信息贴出来, 这样好定位错误. |
|
返回顶楼 | |
发表时间:2007-08-07
[quote="溪流汇海"] 想知道jetty(web服务器)也糅在一起,如何能脱离jetty[/quote]
Jetty是在stand alone模式下才会启动的,如果你想使用Web Container来运行CXF, 你需要进行如下的配置: |
|
返回顶楼 | |
发表时间:2007-08-07
[quote="interpb"]jnn 我知道cxf实现了异步调用的webservice 能不能谈谈这个 demo里面的那个例子 不好运行[/quote]
有关异步调用,请参见 samples\hello_world_async 中的例子。 这个demo只是一个简单示例,并不是一套完整的代码, 在CXF2.0 kit 中的samples目录下有很多示例内容,这些例子都经过测试了的,你应该直接就可以运行。 BTW: 如果Vote顺利的话,CXF 2.0.1 最近就应该发布了,其中修正了一些用户从Xfire迁移到CXF2.0中发现的一些bug。有兴趣的朋友可以下载试用。 |
|
返回顶楼 | |