WEB开发网
开发学院软件开发Java Java Web 服务: CXF 简介 阅读

Java Web 服务: CXF 简介

 2010-03-31 00:00:00 来源:WEB开发网   
核心提示: 同其他堆栈一样,CXF 使用由可配置组件组成的请求和响应处理流,Java Web 服务: CXF 简介(2),CXF 调用组件 intercepters,而非 handlers,WSDL 是相同的;生成的 JAXB 数据模型是相同的,甚至生成的服务类也是相同的,不过除此以外的其他组件是等效组件,

同其他堆栈一样,CXF 使用由可配置组件组成的请求和响应处理流。CXF 调用组件 intercepters,而非 handlers,不过除此以外的其他组件是等效组件。与 Metro 相同的是,CXF 完全支持 WS-Security 和其他扩展技术,将其作为基础下载的一部分。与 Metro 不同的是,CXF JARs 是模块化的 — 即您可以根据正在使用的技术选择 JARs 使其成为应用程序的一部分(CXF 安装目录中的 /lib/WHICH_JARS 文件会告诉您各种常见用例所需的特定 JARs)。该模块化的负面效应是最终会产生应用程序所需的一长列特定 JARs;从有利的一面来说,它允许控制部署的大小。

另一个与 Metro 的相同之处是,CXF 通常需要为 Web 服务构建一个 WAR 文件,而非潜在地部署多个服务到单个服务安装上(这正是 Axis2 所用的方法)。CXF 还以 Jetty 服务器的形式提供一个适合生产使用的集成 HTTP 服务器。与 Axis2 和 Metro 中集成的简单服务器支持相比,这可以提供一个更灵活、强大的替代选择。

示例应用程序

代码下载 部分提供了本系列之前文章中使用的简单的书库管理服务的一个版本,该版本经过了修改,以演示 CXF 的使用。和之前的版本一样,WSDL 服务定义一共定义 4 个操作:

getBook 用于获取 International Standard Book Number (ISBN) 标识的特定图书的详细信息。

getBooksByType 用于获取某种类型的所有图书的详细信息。

getTypes 用于发现现有的图书类型。

addBook 用于将新的图书添加到书库。

在 “Axis2 中的 JAXB 和 JAX-WS” 中,您看到了这个应用程序在 Axis2 中如何工作,然后在 “Metro 简介” 中,您看到了它如何在 Metro 中工作。 这几篇文章中的大部分内容也适用于使用 CXF 的情况。除了服务名称和端点地址不同外,WSDL 是相同的;生成的 JAXB 数据模型是相同的,甚至生成的服务类也是相同的,只是 Java 包和 JAX-WS 注释中使用的服务名称不同。

上一页  1 2 3 4 5 6  下一页

Tags:Java Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接