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 简介

Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF。 Apache CXF 是一个开源的 Services...
  • zgf19930504
  • zgf19930504
  • 2016年03月11日 10:31
  • 460

第6章 CXF的前端应用

第6章 CXF的前端应用 6.1 CXF的前端应用(Frontends)简介 Apache CXF的前端应用(Frontends)就是Apache CXF作为Web Services的消费者,通过采用...
  • u010819416
  • u010819416
  • 2015年11月21日 11:12
  • 245

Apache CXF前端应用(Frontend)

Apache CXF的前端应用就是作为WebService的消费者,通过给客户端调用的服务. ApacheCXF前端应用包括5种: 1.JAX-WS前端模式 2.JAX-RS前端模式 3.动态客户端技...
  • YZR_JAVA
  • YZR_JAVA
  • 2017年04月19日 19:02
  • 242

总结-前端开发常用简单的js方法

在开发过程中经常用到总结出来的一些方法,收集整理,希望能给大家带来帮助,如有 错误,欢迎指正。 /*验证手机号码*/ function isTelNum(str){     var _tel = ...
  • hjw453321854
  • hjw453321854
  • 2018年01月04日 12:20
  • 183

CXF简介

原文地址:http://www.ibm.com/developerworks/cn/education/java/j-cxf/section2.html CXF 简介于 Ahe CXF 关于CXF...
  • xiongqi215
  • xiongqi215
  • 2013年08月16日 22:58
  • 947

cxf框架的简介

webservice测试工具-SoapUi Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services . ...
  • qq_40158032
  • qq_40158032
  • 2017年12月18日 22:14
  • 65

前端应用记录日志的重要性

bug free is impossible。程序是不可能没有bug的。 后台程序在处理诸多业务逻辑时,会碰到很多问题,后台程序没有图形化界面,唯一的(也是最快捷的)处理方式,就是记录错误日志。内存...
  • qq_26485913
  • qq_26485913
  • 2016年04月24日 13:39
  • 46

WebService之CXF框架

本文主要包括以下内容 ant工具的使用 利用cxf实现webservice cxf与spring整合 ajax访问webservice ant 工具1、为什么要用到ant这个工具呢?Ant做为一...
  • whuhan2013
  • whuhan2013
  • 2016年05月30日 13:33
  • 11348

cxf WebService中如何设定xml中返回值的节点信息

@XmlRootElement(name="ContractRoot") public class ContractRoot { private TcpCont tcpCont; pri...
  • xiang_lix
  • xiang_lix
  • 2016年07月07日 17:25
  • 1608

使用cxf实现webService服务

本人第一写文档,各种工具使用还不熟悉,在编写过程中也出现不少问题。这里,不会深入到为什么,只是将用代码加文字描述把一个webService的创建到使用以及与spring的整合叙述一下,也希望大神们多多...
  • u010166195
  • u010166195
  • 2016年03月31日 09:11
  • 1524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CXF的前端应用简介
举报原因:
原因补充:

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