REST是一種體系結(jié)構(gòu),SOAP是一種協(xié)議。
這是第一個(gè)問(wèn)題。
您可以在REST應(yīng)用程序中發(fā)送SOAP信封。
SOAP本身實(shí)際上是非?;竞秃?jiǎn)單的,正是WSS-*標(biāo)準(zhǔn)使它變得非常復(fù)雜。
如果您的使用者是其他應(yīng)用程序和其他服務(wù)器,那么現(xiàn)在對(duì)SOAP協(xié)議的支持非常多,移動(dòng)數(shù)據(jù)的基本原理就是在現(xiàn)代IDE中點(diǎn)擊鼠標(biāo)。
如果您的消費(fèi)者更可能是RIA或Ajax客戶端,那么您可能需要比SOAP更簡(jiǎn)單的東西,并且更適合客戶機(jī)(尤其是JSON)。
通過(guò)HTTP發(fā)送的JSON數(shù)據(jù)包不一定是REST架構(gòu),它只是發(fā)送給URL的消息。所有這些都是完全可行的,但REST成語(yǔ)有一些關(guān)鍵的組成部分。然而,這兩者很容易混淆。但是,僅僅因?yàn)槟谡務(wù)揌TTP請(qǐng)求,并不一定意味著您有一個(gè)REST體系結(jié)構(gòu)。您可以使用沒(méi)有HTTP的REST應(yīng)用程序(注意,這是很少見(jiàn)的)。
因此,如果您有使用SOAP的服務(wù)器和使用者,SOAP和WSS堆??梢院芎玫貫槟?wù)。如果您正在做更多的臨時(shí)工作,并且希望更好地與Web瀏覽器交互,那么一些更輕的HTTP協(xié)議也可以很好地工作。