从WebService到CXF

0. 小补一手WebService,为后面的工作做个‘酝酿’

runoob-WebService教程

spring集成JAX-WS+apache cxf

JAX-RS 概述&demo

JAX-RS 注解开发demo

JAX-RS @Context深入

springboot+cxf+jax-ws/jax-rs

cxf各种组件的介绍

1. WebService

Web Services 脚本平台需支持 XML + HTTP。

可把您的应用程序转换为 web 应用程序。

Web Services 通过 Web 进行发布、查找和使用。

1.1 应用场景

将应用程序作为可重复调用的服务(翻译、天气)

应用程序之间的通讯

1.2 实现方法

服务端通过发布WSDL文档来发布服务(例如:jax-ws根据代码生成对应的WSDL文档)

客户端根据WSDL文档在本地代理远程的服务调用(例如:jax-ws根据WSDL文档生成代理类)

1.3 底层支持

1.3.1 SOAP(simple object access protocol 简单对象访问协议)

基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。

xml语法:
	envelope:将此xml文档标识为一条soap消息
		(header:可选,头信息)
		body:请求/响应的消息内容
			(default:可选,具体的错误说明)

1.3.2 WSDL(Web Services Description Language WebService描述语言)

基于xml的文档,用于描述 Web Services 以及如何对它们进行访问。

文档结构:
	输入、输出的消息结构
	端口(其实就是访问、调用方式)
	使用的数据类型
	使用的通信协议

通过不同的写法,支持四种类型的操作:
	one-way:只接受消息,但不返回响应
	request-response:接受请求,返回响应
	solicit-response:发送请求,等待响应
	notification:发送请求,不会等待响应

1.3.3 UDDI(Universal Desciption,Discovery and Integration可描述、发现、集成服务)

一种目录服务,通过它,企业可注册并搜索 Web services

基于SOAP实现通讯

存储有关 web services 的信息的目录(目录信息由WSDL描述)

1.4 有意思的是

抛开底层协议不谈,从代码编写上,一眼过去很容易产生mvc中的’controller’跟WebService好像都是某个东西的一种实现。。。其实二者并非在一个层面上

WebService是一种跨脚本的rpc框架,mvc在我看来更像是frontend风格的框架

2. 从WebService到JAX-WS

JavaTM API for XML-Based WebServices
JAX-WS在java端对WebService的实现概述见上文。。。
JAX-WS注解位于javax.jws包下(例如:@WebService、@WebMethod、@WebParam、@WebResult...)
JAX-WS是java端提出的WebService顶级规范(抽象),支持第三方厂商的具体实现:
	apache cxf不仅仅支持JAX-WS,新版本更是增加了对JAX-RS的支持

3. 'JAX-WS’再往前一步 —— ‘JAX-RS’

JavaTM API for RESTful Web Services
JAX-RS是java端提供的RESTful顶级抽象,第三方的一些实现:
	由sun公司起手的Jersey
	apache开源的cxf

4. cxf

Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF

继承了 Celtix 和 XFire 两大开源项目

提供了多种组件 Binding 、DataBinding、Transport 以及各种 Format 的支持

支持多种协议:SOAP/XML(JAX-WS规范)、RESTful/JSON(JAX-RS)…

轻松集成到spring项目中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肯尼思布赖恩埃德蒙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值