2 回答

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