WebService SOAP REST

简介

Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。Web Service 最基本的组成部分为服务的提供者(Service Provider)和服务的请求者(Service Requester)。Web Service 两端的应用是通过基于标准的 XML 格式的协议进行通信的,这种最常用的协议就是 SOAP(Simple Object Access Protocol)。Webservice本来是个通用词汇代表所有基于web的服务,后来似乎变成了某种基于XML的RPC协议的专用词汇。Web service是应用程序组件,可以被其他应用程序使用,不是框架,甚至不是一种技术, 而只是一种跨平台、跨语言的规范。

实现方式

WebService原来有两种方式,一是SOAP协议方式,在这种方式下需要WSDL,UDDI等,二是REST方式,这种方式根本不需要WSDL,UDDI等。

REST是完全不同的思路,它充分利用了HTTP协议的4个主要verb把RPC操作分成4类:- GET:进行幂等的资源获取操作- POST:创建资源- PATCH:修改资源- DELETE:删除资源仔细想一下这其实就是数据库的CRUD操作POST=createGET=readPATCH=updateDELETE=delete

RESTful是个形容词,形容根据这个思路设计出来的REST风格的API

SOAP : 什么是SOAP,其实SOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。 一个RPC call就是把一个XML文档post到某个URL下,这个xml文档里写明我要调用的函数名和参数,服务端会返回一个xml把结果返回,SOAP消息完全就是将Http协议作为消息承载,以至于对于Http协议中的各种参数(例如编码,错误码等)都置之不顾。这样的设计是把HTTP当传输层,可以把传输层替换成其他协议只要能在客户端服务端之间传输xml就可以。流程:客户端——> 阅读WSDL文档 (根据文档生成SOAP请求) ——>发送到Web服务器——>交给WebService请求处理器 (ISAPI Extension)——>处理SOAP请求——> 调用WebService——>生成SOAP应答 ——> Web服务器通过http的方式交给客户端。

REST :REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。它充分利用了HTTP协议的4个主要verb把RPC操作分成4类:- GET:进行幂等的资源获取操作- POST:创建资源- PATCH:修改资源- DELETE:删除资源仔细想一下这其实就是数据库的CRUD操作POST=createGET=readPATCH=updateDELETE=delete,而互联网上的各种资源就好比数据库中的记录(可能这么比喻不是很好),对于各种资源的操作最后总是能抽象成为这四种基本操作,在定义了定位资源的规则以后,对于资源的操作通过标准的Http协议就可以实现,开发者也会受益于这种轻量级的协议。

webService超时时间的JAVA中设置

1、在 Spring+CXF 的 WebService 环境下,客户端有两个时间属性是可配置的,分别是 ConnectionTimeout 和ReceiveTimeout。ConnectionTimeout — WebService 以 TCP 连接为基础,这个属性可以理解为 tcp 的握手时的时间设置,超过设置的时间长则认为是连接超时,以毫秒为单位,默认是 30,000 毫秒,即 30 秒。ReceiveTimeout — 这个属性是发送 WebService 的请求后等待响应的时间,超过设置的时长就认为是响应超时,以毫秒为单位,默认是 60,000 毫秒,即60秒。在调用 CXF 服务的 xml 文件中加入下面的配置:<!-- 所有服务 --> 

<http-conf:conduit name="*.http-conduit"> 

    <http-conf:client ConnectionTimeout="10000" ReceiveTimeout="30000"/> 

</http-conf:conduit>

2、Rest:Java 利用 HttpClient 调用 REST 服务时,关键是给 HttpParams 设置超时,如下:

HttpParams params = new BasicHttpParams();

params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5*1000); //设置连接超时

params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 30*1000); //等待数据的最大时

HttpClient client = new DefaultHttpClient(params);

参考:

https://stevenjohn.iteye.com/blog/1442776

https://www.zhihu.com/question/30547012

RESTful Web Service 架构剖析https://www.jianshu.com/p/a79a1d01b557

 GitHub 的 REST 接口文档 https://developer.github.com/v3/

入门实例:https://blog.csdn.net/yangwenxue_admin/article/details/51059125

https://blog.csdn.net/jiuqiyuliang/article/details/48825577

https://www.cnblogs.com/pony1223/p/7847323.html

webService超时时间的JAVA中设置https://blog.csdn.net/samyang1/article/details/79309223

Web Service应用之CXF开发 https://blog.csdn.net/sinat_32366329/article/details/79334630

Web Service 那点事儿(1)https://my.oschina.net/huangyong/blog/286155

Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务https://my.oschina.net/huangyong/blog/286439

Web Service 那点事儿(3)—— SOAP 及其安全控制 https://my.oschina.net/huangyong/blog/287791

Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务 https://my.oschina.net/huangyong/blog/294324

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容