亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于 SOAP 做 web service 的困惑

關于 SOAP 做 web service 的困惑

慕碼人8056858 2019-03-30 09:33:52
沒有做過webservice下面全是本人臆斷,莫笑。用SOAP做webservice最后調用的方法不也是基于http的么,和咱們現在調用的restful的api接口有什么優勢呢?又是需要裝擴展,又是需要WSDL文件,這豈不是很麻煩?下面是我一位朋友給我的解答,但是我覺得我很難看懂,希望解釋簡單些和補充RESTful的接口非常方便易用。但是有一種場景:企業應用之間的集成,比如說A系統上行數據到總線有10個字段,而B系統只關心其中的5個字段,如果采用WebService的方式,就是XML的數據封裝,就可以在總線上完成XSLT,只給B系統5個字段。此時,XML相對JSON是有優勢的。這是在實際使用場景中的一個情況。如果說,使用RESTful+XML行不行?行,肯定沒問題。但是RESTful的服務通常不采用XML。另外,WebService因為有WSDL的存在,導致它的請求和響應都是格式、類型嚴格的,總線或者其他服務消費者容易預先知道會是什么樣子的請求和響應。
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

大神朋友的說法有問題
RESTful的接口非常方便易用。但是有一種場景:企業應用之間的集成,比如說A系統上行數據到總線有10個字段,而B系統只關心其中的5個字段,如果采用WebService的方式,就是XML的數據封裝,就可以在總線上完成XSLT,只給B系統5個字段。此時,XML相對JSON是有優勢的。這是在實際使用場景中的一個情況。
RESTful的方式也仍然可以達到這樣的目的,以這樣的場景論據得出“XML相對JSON是有優勢的”的結論是很扯的。
事實上RESTful僅僅是一種架構風格,對響應格式及結果沒有啥束縛。
如果說,使用RESTful+XML行不行?行,肯定沒問題。但是RESTful的服務通常不采用XML。另外,WebService因為有WSDL的存在,導致它的請求和響應都是格式、類型嚴格的,總線或者其他服務消費者容易預先知道會是什么樣子的請求和響應。
從格式約束的角度來說,XML的確是要比JSON嚴謹一些。如何取舍就好比經典的關系式數據庫和NoSQL的取舍一樣,看實際情況了。
再次強調,RESTful僅僅是一種架構風格,至于響應格式是用JSON還是XML是另外一個層面的事情。
回到SOAP和RESTful的對比上來,我認為最大的不同是抽象方式的差異,SOAP以過程和事務來抽象,RESTful以資源的方式來抽象。
點到即止吧,實在沒力氣長篇大論了……
                            
查看完整回答
反對 回復 2019-03-30
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

用SOAP是因為系統夠復雜,且有中間件吧(我是做中間件的,笑),一般針對對象是巨型系統,或者復雜的多系統整合。這樣ServiceA開發跟ServiceB要聯動時,開發A的公司和開發B的公司,一家拿出一個WSDL就好了。
比如我在做的是某國外航空公司的項目。
公司內有貨物管理,人員管理,航班信息,財務系統,等等,有新開發或現存老系統10多個,因為復雜,這些Service間的訪問需要中間件(ESB)來控制。同時此航空公司若加入類似亞洲星空聯盟這樣的組織,各個不同公司間的Service互相訪問(比如日航航班出問題,要給你安排到美西北航空的空席去)也需要ESB來控制,每個service都統一用SOAP。這次歐洲的某公司要玩互動,對應下ESB,給他個WSDL就好了。
                            
查看完整回答
反對 回復 2019-03-30
  • 2 回答
  • 0 關注
  • 575 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號