75

您认为这两个库之间的优缺点是什么?这两个哪个最适合生产环境?顺便说一下,我将使用 JSON 而不是 XML。

我还想知道社区最支持哪个库,例如教程、文档。

4

5 回答 5

48

我两者都用过,但目的不同。CXF 非常适合解析 WSDL 并创建 Java POJO 以与之交互,因此 CXF 非常适合客户端 WSDL 服务。我目前正在使用 Jersey 进行服务器端实现,我对使用 Jersey 启动和运行 RESTful 服务的简单性印象深刻。

由于 Jersey 主要致力于 RESTful 服务,而 CXF 主要(全部?)处理 SOAP,我认为这取决于您是想使用 SOAP 还是 REST,并从那里确定最适合这项工作的框架。就个人而言,我更喜欢 REST 阵营而不是 SOAP,但我的需求不同。如果我编写服务的供应商/客户/公司需要某种合同,我可能仍会推动 REST(以及基于合同的服务的 REST 等价物,WADL),但可能需要实施一个 SOAP 服务,在这种情况下,我会先查看 CXF,然后再查看其他所有内容。

就个人而言,Jersey 非常适合 JAX-RS 框架,尽管不排除JBoss 的RESTEasy。我都喜欢,但 RESTEasy 的文档更好。

对于 CXF,文档还可以,但我在处理 SSL 和 HTTP 代理的方式上遇到了不一致,但最终它自己解决了。CXF 确实为这些附加功能提供了更多开箱即用的功能,我想说 RESTEasy 将为 RESTful 框架提供等效功能。

于 2010-04-29T03:01:43.393 回答
4

我只用过泽西(非常满意),所以我无法给出真正的比较。您可能需要考虑的事项:

  • CXF 与 SOAP 堆栈支持打包在一起,因此您引入了大量与 SOAP 相关的权重,您在构建 RESTful 系统时将永远不会使用这些权重。(据我所知,有计划拆分包装)
  • Jersey 为 JAX-RS 提供了许多非常有用的非标准补充。还有一个客户端核心框架,设计得非常好。
  • [警告:无耻插入(对不起)]:我一直在开发一个扩展的 Jersey 客户端框架,它鼓励在客户端正确使用 REST,并且(至少恕我直言)非常自然地使用。计划在本周(或下)周宣布 - 如果您非常关心客户端,请尝试一下。就个人而言,我认为这是一个巨大的亲泽西的论点。

高温下,

于 2010-04-26T10:12:56.520 回答
3

你考虑过 RESTlet吗?它是一个强大的包,可以快速构建 RESTful Web 服务。RESTlet 背后的人还编写了目前处于早期访问阶段的 RESTlet In Action 一书。已经可用的章节很好地解释了 REST 并详细说明了如何设计 REST api。

于 2010-04-29T03:32:16.493 回答
2

如果您担心将使用Jersey开发的解决方案转换为在CXF上运行的细节,Glen Mazza 在 GitHub 上发布了移植到 Apache CXF 的 Jersey 示例集合。自述文件对每个示例都有关于所做必要更改的注释。

于 2012-03-14T15:21:55.600 回答
1

我已经将 Apache CXF 用于 JAX-WS 和 Jersey 用于 JAX-RS,所以我无法评论 CXF 和 REST。使用 Jersey 很容易设置 REST 示例。文件是足够的。我没有使用过 RESTEasy,但 Jersey 看起来更有牵引力和更新的更新。

RESTful Web Services Cookbook 是一本很好的实现指南。

于 2010-05-05T22:28:03.597 回答