Java Web 服务: CXF 简介
2010-03-31 00:00:00 来源:WEB开发网Apache CXF Web 服务堆栈是来自 Apache Software Foundation 的另一替代选择,Axis2 堆栈也来自同一组织。尽管它们来自同一组织,Axis 2 和 CXF 就如何配置和交付 Web 服务采用完全不同的方法。在本文中,您将学习为 CXF Web 服务使用 JAXB 2.x 和 JAX-WS 2.x 的基础,还将比较 CXF 与其他 JAXB/JAX-WS 堆栈 — Axis2 和 Metro — 这两个堆栈在之前的文章中讨论过。
CXF 基础比较
在用户界面方面,CXF 与 Axis2 和 Metro Web 服务堆栈有很多共同之处。三个堆栈都允许要么从已有 Java™ 代码开始构建 Web 服务,要么从 WSDL Web 服务描述开始,生成使用或实现服务的 Java 代码。而且与其他堆栈一样,CXF 将服务操作建模为方法调用,而将服务端口类型建模为接口。
与 Axis2 类似,但是不同于 Metro,CXF 允许选择不同的数据绑定技术。CXF 对 JAXB 2.x 的支持与 Metro 同等而高于 Axis2,因为它允许从 WSDL 生成代码时使用 JAXB 标准(而 Axis2 不允许)。CXF 还允许使用其他数据绑定方法,不过对这些方法的支持不像在 Axis2 中那样成熟 — 特别是,只有在使用 JAXB 或 XMLBeans 数据绑定时才能使用 CXF 从 WSDL 生成代码。
CXF 使用的首选服务配置技术(或在 CXF 术语中称为前端) 是 JAX-WS 2.x 注释,通常附有 XML 配置文件。CXF 中对 JAX-WS 注释的支持与 Metro 同等,因而与 Axis2(在 Axis2 中使用 JAX-WS 时存在一些限制,正如 “Axis2 中的 JAXB 和 JAX-WS” 所述)相比,CXF 更适合使用 JAX-WS。与其他 JAX-WS 实现一样,CXF 需要服务 WSDL 在运行时可用于客户机。
更多精彩
赞助商链接