CXF的前端应用简介

原创 2016年06月01日 17:14:05

Apache CXF的前端应用就是ApacheCXF最为Web Services的消费者,通过用客户端模式调用后台的Web
Services服务。 Apache
CXF的前端应用有5种实现模式。第一种是JAX-WS前端模式,第二种是JAX-RS前端模式(与支持Restful的WebServices是一致的),第三种是采用动态客户端技术,第四种是Provider和Dispatch接口方式,第五种是简化前端模式。

JAX-WS前端模式也有两种实现方式,一种是代码优先(Java First),一种是协议优先(WSDL First)。基于代码优先(Java First)的编程方式就是编写Java程序代码,然后发布java代码来产生客户端和服务端的Web Services。这里要用到CXF JAX-WS的java2WSDL,该程序可以把java对象转换为WSDL和XSD,并以此为基础生成WebServices。基于协议优先的编程方式就收首先生成WSDL文档,然后通过WSDL文档来产生客户端和服务端的Java代码,然后发布这些生成的客户端和服务端的WebServices。
1.1.基于代码优先的JAX-WS前端模式实现
1.1.1.基于代码优先的(Java First)的Web Services的步骤
(1)创建服务端点接口(SEI),定义公开为Web Services服务的方法。
可以直接从一个java类或一个接口开始。一般而言接口比java类要好一点,这样可以实现接口和具体实现类耦合开来。
(2)为java类或接口添加所需的注释。
针对要提供的外部Web Services服务,进行代码注释,同时也可以添加一些其他方面的注释,如数据绑定、服务名称、服务端口等等。
这里写图片描述
① @WebServices注释
@WebServices注释是javax.jws.WebService接口的定义,这是一个接口或类,目的是说明该接口是作为服务来使用的。
这里写图片描述
② @SOAPBinding注释
@SOAPBinding注释由javax.jws.soap.SOAPBinding接口来定义。如果@SOAPBinding注释没有指定,服务一般使用doc/literal的SOAP绑定。
这里写图片描述
③ @WebMethod注释
@WebMethod注释是由javax.jws.WebMethod接口定义的,它被放置到SEI的方法上。
这里写图片描述
④ @RequestWrapper注释
@RequestWrapper注释由javax.xml.ws.RequestWrapper接口定义。@RequestWrapper指定的实现包装Bean的java 类的请求方法参数,该方法参数是由一个远程调用发送请求消息中包含的参数。
这里写图片描述
⑤ @ResponseWrapper注释
@ResponseWrapper注释由javax.xml.ws.ResponseWrapper接口来定义。
这里写图片描述
⑥ WebFault注释
WebFault注释由javax.xml.ws.WebFault接口定义。
这里写图片描述
⑦ @OneWay注释
@ OneWay注释由javax.jws.Oneway接口定义。@OneWay注释放置在SEI不需要的服务响应的方法。@ OneWay注释说明在此方法执行过程中不需要等待,不保留任何资源来处理响应。
⑧ @WebParam注释
@WebParam注释由javax.jws.WebParam接口定义。
这里写图片描述
⑨ @WebResult注释
@WebResult注释由javax.jws.WebResult接口定义。
这里写图片描述
(3)编写发布这个java程序的Web Services并发布服务。
(4)编写WebServices的客户端应用程序。
这里写图片描述
这里写图片描述

1.1.2.基于WSDL优先的JAX-WS前端模式实现
基于WSDL优先编程主要是通过已经存在的WSDL文档,然后通过CXF wsdl2java工具生成相关的客户端和服务器端的程序代码。
要建立一个基于JAX-WS协议的Web服务,步骤如下:
① 获得一个WSDL文档。
② 生成的Web Services组件。
③ 发布Web Services。
④ 开发一个Web Services客户端。
这里写图片描述
1.1.3.简化前端模式
简化前端模式,与JAX-WS实现模式不同,简化前端模式在开发和部署Web Services时不提供任何正式的规范或标准。简化前端模式采用简单工厂模式创建服务。工厂组件采用java反射API去动态的创建服务组件和客户端组件。
这里写图片描述
1.1.4.Provider/Dispatch服务前端应用模式
通过SEI的调用都是高层次上的Web Services,主要针对服务方法进行调用,但在有些应用场景下,开发人员需要对服务内的XML进行更深层次的解析和处理,这就需要采用新的工具和方法。
JAX-WS API的Provider和Dispatch接口用于对底层XML进行操作。
1.1.5.采用Apache CXF的动态客户端技术
Web Services客户端通常使用服务接口来调用服务方法,直至现在,客户端应用程序都是用服务端点接口(SEI)或服务端点接口代理接口来调用服务方法。
动态客户端动态的检查WSDL,并在WSDL定义基础上动态的创建客户端输入和输出对象,它也可以验证WSDL文件和输入/输出消息格式,但实际上动态客户端并没有调用Web服务作为单元测试环境的一部分。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cxf发布webservice简介 及 wsdl2java生成客户端代码

下面我们简要介绍如何通过cxf框架发布webservice 首先新建一个Java project为cxfmodel_server 首先去官网下载cxf:http://cxf.apache.org/...

Apache CXF 简介

 Apache CXF 简介 开放源代码的服务框架 本教程介绍了 Apache CXF 服务框架的基本知识,并通过讲解自带的例子来初步体验通过 CXF 进行服务的发布与消费;然后搭建...

webservice简介&CXF入门

WebService 它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术.   面向服务架构 规范及三要素   1)           SOAP协议:webservic...
  • ityqing
  • ityqing
  • 2016年08月16日 14:39
  • 74

CXF的发布和使用简介

一.  简介 Apache CXF 是一个Service框架,他简化了Service的创建, CXF实现了JAX-WS2.0规范,并通过了JAX-WS2.0 TCK; CXF和Spring无缝集成;...

Apache CXF简介

CXF 应用开发 下面就将开始我们的 CXF Web Services 的开发之旅!首先,要有一个基于 Eclipse 的开发环境;然后,我们将利用这个开发环境开发一个简单的“调查投票”示例,同...

CXF使用教程(一)——简介以及入门案例

一.简介 Apache CXF是一个开源的Service框架,可以用于简化用户的service开发,基于CXF开发的应用可提供SOAP、XML/HTTP、RESTFUL HTTP或CORBA等服务。C...

CXF 入门简介

CXF 简介 关于 Apache CXF Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 A...

Webservice实践(六)CXF拦截器简介

Cxf的拦截器包括入拦截器和出拦截器,所有的入拦截器或出拦截器构成了一个拦截器链,它们可以作用在Server端也可以作用在Client端。...
  • csolo
  • csolo
  • 2017年02月03日 21:11
  • 363

Apache CXF框架简介

Apache CXF框架是一个开源的Web Services框架,它来源于两个开源项目--ObjectWeb Celtix和Codehaus XFire Apache CXF提供了对JAX-WS规范的...

前端开发常用调试工具简介

  • 2013年01月15日 14:59
  • 1.08MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CXF的前端应用简介
举报原因:
原因补充:

(最多只允许输入30个字)