2 回答

TA貢獻1864條經(jīng)驗 獲得超6個贊
webservice相互的通訊是建立在協(xié)議的基礎上的, 但同一個容器的的webservice可以通過傳遞對象實例來進行通訊,比如在tomcat中的RequestDispatcher接口.
但跨平臺的通訊,需要用到協(xié)議,現(xiàn)在主流的都是SOAP,實質(zhì)是個xml文本消息.
SOAP定義了服務端口,參數(shù)類型,處理方法.還有編碼方式.這都是進行通訊必不可少的,web service是管道過濾器模型,雖然不限制過濾器的實現(xiàn)方式,但是管道要求明確定義在兩個過濾器之間傳輸?shù)臄?shù)據(jù)類型.比如&name=zhang&pass=123456這個name是什么?pass又是什么?,字面上看name就是用戶名,pass就是密碼,但是這是你的理解,機器可不會認為name就是用戶名, 機器是死的,參數(shù)類型和名稱是由服務的WSDL限制死的,另外還有編碼.你所用的編碼機器不一定認識,同樣的編碼,在另一種編碼環(huán)境下,可能就是亂碼,這在中文數(shù)據(jù)交換上經(jīng)常出現(xiàn),你看到亂碼了,表示出錯了,但機器不認為出錯了,機器不是人,你不認得亂碼,但是機器認得,在機器里非亂碼和亂碼都是正常的01組合,這樣一個編碼的原因,你的name=zhang到了服務器,經(jīng)過不同的編碼可能收到的信息就不是name=zhang了所以直接通訊是不行的,必須要有協(xié)議,而這個協(xié)議就是SOAP.
添加回答
舉報