在web服務(wù)中,有三種可供選擇的發(fā)送和接受信息的協(xié)議:SOAP,HTTP GET,HTTP POST,但是SOAP支持的數(shù)據(jù)類型更為廣泛
SOAP=RPC+HTTP+XML
SOAP簡單的理解,就是這樣的一個開放協(xié)議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協(xié)議;RPC作為一致性的調(diào)用途徑,XML作為數(shù)據(jù)傳送的格式,允許服務(wù)提供者和服務(wù)客戶經(jīng)過防火墻在INTERNET進行通訊交互。RPC的描敘可能不大準確,因為SOAP一開始構(gòu)思就是要實現(xiàn)平臺與環(huán)境的無關(guān)性和獨立性,每一個通過網(wǎng)絡(luò)的遠程調(diào)用都可以通過SOAP封裝起來,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。
SOAP 使用 HTTP 傳送 XML,盡管HTTP 不是有效率的通訊協(xié)議,而且 XML 還需要額外的文件解析(parse),兩者使得交易的速度大大低于其它方案。但是XML 是一個開放、健全、有語義的訊息機制,而 HTTP 是一個廣泛又能避免許多關(guān)于防火墻的問題,從而使SOAP得到了廣泛的應(yīng)用。但是如果效率對你來說很重要,那么你應(yīng)該多考慮其它的方式,而不要用 SOAP。