- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ApacheCXF入门及与Spring整合快速上手实例详解
基础架构
CXF旨在为服务创建必要的基础设施,它的整体架构主要由以下几个部分组成:
1.Bus
它是CF架构的主干,为共享资源提供了一个可配置的场所,作用非常类似于Spring的ApplicationContext。这些共享资源包括WSDL管理器、绑定工厂等。通过对Bus进行扩展,可以方便地容纳自己的资源,或替换现有的资源。默认Bus实现是基于Spring的,通过依赖注入,将运行时组件串起来。Bus的创建由BusFactory负责,默认是SpringBusFactory,对应于默认Bus实现。在构造过程中,SpringBusFactory会有哪些信誉好的足球投注网站META-INF/cxf(就包含在 CXF的Jar中)下的所有Bean配置文件,根据它们构建一个ApplicationContext。开发者也可提供自己的配置文件来定制Bus。
2.消息传递和拦截器(Interceptor)
CXF建立于一个通用的消息层之上,主要由消息、拦截器和拦截器链(InterceptorChain)组成。CXF是以消息处理为中心的,熟悉JSP/Servlet的开发者可以将拦截器视为CXF架构中的“Filter”,拦截器链也与“FilterChain”类似。通过拦截器,开发者可以方便地在消息传递、处理的整个过程中对CXF进行扩展。拦截器的方法主要有两个:handleMessage和handleFault,分别对应消息处理和错误处理。在开发拦截器的时候需要注意两点:
拦截器不是线程安全的,不建议在拦截器中定义实例变量并使用它。这一点跟JSP/Servlet中对于Filter的处理是一样的;
不要调用下一个拦截器的handleMessage或handleFault,这个工作由InterceptorChain来完成。
3.前端(Front End)
它为CXF提供了创建服务的编程模型,当前主要的前端就是JAX-WS。
4.服务模型
CXF中的服务通过服务模型来表示。它主要有两部分:ServiceInfo和服务本身。ServiceInfo作用类似WSDL,包含接口信息、绑定、端点(EndPoint)等信息;服务则包含了ServiceInfo、数据绑定、拦截器和服务属性等信息。可使用Java类和WSDL来创建服务。一般是由前端负责服务的创建,它通过ServiceFactory来完成。
5.绑定(Binding)
绑定提供了在传输之上映射具体格式和协议的方法,主要的两个类是Binding和BindingFactory。BindingFactory负责创建Binding。
6.传输(Transport)
为了向绑定和前端屏蔽传输细节,CXF提供了自己的传输抽象。其中主要有两个对象:Conduit和Destination。前者是消息发 送的基础,后者则对应消息接收。开发者还可以给Conduit和Destination注册MessageObserver,以便在消息发送和接收时获得 通知。
开发方法
CXF 可以创建的Web 服务应用有两种:服务提供者和服务消费者。这种结构可类比客户端/服务器结构,服务消费者类似于客户端,服务提供者类似于服务器。使用CXF 创建应用时,服务提供者和服务消费者并不需要同时出现,因为有可能应用只是作为服务提供者或服务消费者单独出现。
为了说明使用CXF如何创建这两种类型的应用,本教程将同时给出它们的例子。另外,由于Groovy在Java 世界中变得越来越流行,本教程会给出使用Groovy 的CXF 插件GroovyWS 的实现例子。例子使用JDK 1.5.X 和Groovy 1.0 完成,包含以下几部分:
1.User,用户对象,在消费者和提供者之间传递;
2.UserService,用户管理服务,它提供增加和获取所有用户的功能;
3.Client,服务消费者,它向UserService发起服务请求。
Java 实现的步骤包括以下几点。
服务端包含UserService、UserServiceImpl和User。其中,UserService是接口定义,UserServiceImpl是它的实现,并负责服务的发布,服务只有发布之后才能被消费。例子使用了JAX-WS,它们的主要内容如下:
UserService
package server;
import javax.jws.WebService;
@WebService
public interface UserService {
void add(User user);
User[] findAllUsers();
} @WebService 指明接口是Web 服务UserServiceImpl
import java.util.List;
import
您可能关注的文档
- 小学综合素质复习资料5.1阅读理解能力.doc
- 16春天大《建设工程法规》在线作业一.doc
- 小学美术人美版第十二册教案.doc
- 小学美术授导型教学教案设计.doc
- 16春地大《管理学原理》在线作业一.doc
- 小学美术教学知识点.doc
- 17.《汤姆.索亚历险记》教学课件2.ppt
- 16第16章(全C)logistic回归分析20110910.ppt
- 小学美术教案三年级下册第11课六面怪脸.doc
- 小学美术教案五年级上册第一课.docx
- 南宁化工股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及答案一套.docx
- 南方投资集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版附答案.docx
- 会员打卡活动策划方案.docx
- 南方投资集团有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版必考题.docx
- 南京化纤股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版完整版.docx
- 南京纺织品进出口股份有限公司校园招聘模拟试题附带答案详解参考答案.docx
- 内蒙蒙电华能热电股份有限公司包头二电厂校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案.docx
- 南宁化工股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版参考答案.docx
- 内蒙古伊东煤炭集团有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版推.docx
- 兰州天奇物资集团有限公司校园招聘模拟试题附带答案详解1套.docx
最近下载
- 一种磁珠法无醇核酸提取试剂盒及其提取方法.pdf VIP
- 项目管理机构设置及人员配备.pdf VIP
- 2022年广西高考英语试题和答案(文字版) .pdf VIP
- 2025年天津市专业技术人员公需考试试题-为中国式现代化提供强大动力和制度保障——党的二十届三中全会暨《中共中央关于进一步全面深化改革、推进中国式现代化的决定》总体解读.docx VIP
- 读书伴我快乐成长(四年级主题班会).ppt VIP
- 二元Logistic回归教程文件.ppt VIP
- 呼吸内科护士理论考试题附答案.doc
- 2015年6月大学英语四级考试真题.doc VIP
- 《中国考古学 III》课件:3_1 秦代墓葬.ppt
- 中华中医药学会体质辨识标准——体质分类与判定.pdf VIP
文档评论(0)