使用CXF和Spring创建Web服务 - 编程入门网
使用CXF和Spring创建Web服务时间:2011-01-26 Rajeev Hathi引言 在本文中,您将使用 CXF 和 Spring 来构建和开发一个订单处理 Web 服务。该 Web 服务处理或验证客户所下的订单,并返回唯一的订单 ID。阅读本文之后,您将能够应用 CXF 的概念和功能来构建和开发 Web 服务。 系统要求 要运行本文中的示例,请确保已在计算机上安装和设置了以下软件: Java 5 或更高版本 Tomcat 5 或更高版本 Ant 构建工具 CXF 二进制分发版 2.1 安装上述分发版以后,设置以下环境变量: JAVA_HOME(用于 Java) CATALINA_HOME(用于 Tomcat) ANT_HOME(用于 Ant) CXF_HOME(用于 CXF) 举例来说,可以设置 CXF_HOME=C:\apache-cxf-2.1 并将以下内容添加到 PATH 环境变量: JAVA_HOME\bin CATALINA_HOME\bin ANT_HOME\bin 为什么选择 CXF? Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM® WebSphere® 或 BEA WebLogic。 功能 该框架提供了以下功能: Web 服务标准支持:CXF 支持以下 Web 服务标准: Java API for XML Web Services (JAX-WS) SOAP Web 服务描述语言(Web Services Description Language ,WSDL) 消息传输优化机制(Message Transmission Optimization Mechanism,MTOM) WS-Basic Profile WS-Addressing WS-Policy WS-ReliableMessaging WS-Security 使用CXF和Spring创建Web服务(2)时间:2011-01-26 Rajeev Hathi前端建模:CXF 提供了前端建模的概念,允许您使用不同的前端 API 来创建 Web 服务。API 允许您使用简单的工厂 Bean 并通过 JAX-WAS 实现来创建 Web 服务。它还允许您创建动态 Web 服务客户端。 工具支持:CXF 提供了用于在 Java Bean、Web 服务和 WSDL 之间进行转换的不同工具。它提供了对 Maven 和 Ant 集成的支持,并无缝地支持 Spring 集成。 RESTful 服务支持:CXF 支持代表性状态传输(Representational State Transfer,RESTful )服务的概念,并支持 Java 平台的 JAX-RS 实现。(本系列的第 2 部分将提供有关 RESTful 服务的更多信息。) 对不同传输和绑定的支持:CXF 支持不同种类的传输,从 XML 到逗号分隔值 (CSV)。除了支持 SOAP 和 HTTP 协议绑定之外,它还支持 Java Architecture for XML Binding (JAXB) 和 AEGIS 数据绑定。 对非 XML 绑定的支持:CXF 支持非 XML 绑定,例如 JavaScript Object Notation (JSON) 和 Common Object Request Broker Architecture (CORBA)。它还支持 Java 业务集成(Java Business Integration,JBI)体系架构和服务组件体系架构(Service Component Architecture,SCA)。 开发 Web 服务 下面让我们深入地研究一下如何使用 JAX-WS 前端创建订单处理 Web 服务,然后将其注册为 Spring Bean。您将使用代码优先方法,这意味着您将首先开发一个 Java 类,并将其标注为 Web 服务。为此,您通常要执行以下步骤: 创建服务端点接口(service endpoint interface,SEI),并定义一个将公开为 Web 服务的方法。 创建实现类,并将其标注为 Web 服务。 创建 beans.xml,并使用 JAX-WS 前端将该服务类定义为 Spring Bean。 创建 web.xml 以集成 Spring 和 CXF。 首先让我们创建订单处理 Web 服务 SEI。 创建订单处理 Web 服务 SEI 创建名为 OrderProcess 的 SEI,它将具有一个方法 processOrder,此方法接受一个订单 Bean 并返回一个字符串。processOrder 方法的目的是处理客户所下的订单,并返回唯一的订单 ID。 清单 1. OrderProcess SEI
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |