webservice是解決系統之間遠程調用的,這種調用不只跨平臺,還跨語言java
webservice是一種遠程調用技術,也是一個標準web
webservice的本質仍是socket通訊,使用http協議ajax
wsdl是web服務的使用說明書服務器
soap是簡單對象訪問協議,它是創建在http基礎之上的app
用http發xml文檔就是soap消息,若是把http比做普通公路的話,那麼soap就是高速公路,它規定了傳送的文本只能是指定格式的xml文本socket
客戶端調用webservice服務有兩種方式:ide
使用wsimport或者wsdl2java之類的工具生成本地的代理類,這些代理類就負責soap消息的封裝和解析工做,由它們來和服務端交互,這樣在咱們本地就想調用本身的代碼同樣去調用相應的方法。這種方式的優勢是能夠將代理類注入到Action中,缺點是須要添加大量的jar包。工具
直接發送soap消息和服務端通訊,本身解析返回的soap消息,這個能夠用ajax來作。客戶端發ajax請求,而後從返回的xml數據中提取想要的結果。這種方式的優勢是無需添加jar包,缺點是須要本身來封裝soap消息並解析,並且沒法注入到Action中。代理
soap有1.1和1.2兩個版本。並且區別在於:xml
命名空間不一樣
消息報頭不一樣,soap1.1的Content-Type爲text/xml,soap1.2的Content-Type爲application/soap+xml
soap1.1有soapAction,soap1.2沒有
soap1.1的客戶端能夠訪問soap1.1和soap1.2的服務器,soap1.2的客戶端只能訪問soap1.2的服務端