好多書籍只介紹建立xml webservice,並沒有詳細介紹xml webservice的工作原理以及各部分(例如iis asp.net)在xml webservice中所起的作用.學習後整理了一下,希望對讀者有所幫助!
(一).xml webservice作用
xml webservice在應用程式中所起的作用與.net遠端呼叫處理元件相同.
使用者不能直接使用webservice,只能通過asp.net web應用程式或windows桌面
客戶端來呼叫.
(二).xml webservice與.net遠端處理區別
1. xml webservice比.net遠端處理物件所受的限制更多。它類似於.net遠端處理
的單獨呼叫物件的工作機制。 不能建立乙個單獨的或是由客戶端啟用的物件.
2.xml webservice的建立和設計比遠端元件更容易/簡單.
3.net遠端處理二進位制通訊要比xml webservice soap格式通訊要快捷.
4.xml webservice較.net遠端處理擴充套件性強。 它支援以跨平台使用為目的的開放標準.
5.xml webservice不需要專門的宿主程式,而是由asp.net承載。 可以訪問一些重要的
平台服務,如:資料快取/網路會話狀態管理/身份驗證/全域性共享應用程式集合等。而.net
遠端處理則很難實現這些功能.
6.xml webservice執行在iis和asp.net之上,使用http通道(80埠)與客戶通訊。
可以自由跨越防火牆.
(三).xml webservice建立與呼叫過程
i.服務端建立
1.使用iis,在web伺服器上新建乙個虛擬目錄來存放xml web服務.
2.建立xml webservice類,使用[webmethod]屬性來標記方法可以被遠端呼叫.
3.在虛擬目錄中部署xml web服務的檔案.
ii.客戶端使用
1.客戶端通過url或檔案查詢或uddi註冊,發現xml webservice
2.客戶端請求描述xml webservice的wsdl文件。
3.客戶端在wsdl文件的基礎上生成乙個**類。
4.客戶端生成**類的例項,並呼叫xml webservice,傳送訊息並接受處理後結果.
也就是說呼叫xml webservice是由客戶端生成的**類例項物件完成的.
(四).iis作用
(五).xml webservice和soap標準支援的資料型別
不知道讀者有沒有遇到這種情況,在呼叫webservice並給乙個方法傳遞了乙個datarow引數時,執行
時會丟擲異常: "沒法將引數序列化!",如果把datarow加入到dataset中,並將dataset作為引數
傳遞再執行就ok了。 這是因為:xml webservice只能對資料集dataset物件型別進行xml序列化,
不能對datarow物件型別進行xml序列化造成的錯誤. 所以了解一下xml webservice支援序列化的基
本資料型別是比較重要的.它支援的資料型別如下:
1.基本資料型別.
標準型別,如:int float bool datetime string等基本資料型別
2.列舉.
支援列舉enum定義的型別
3.自定義物件.
可以傳遞任意基於自定義類或結構建立的物件。 但要注意一點: 它只能傳輸資料成員(變數和屬性).
如果定義了方法,則方法不能進行序列化傳輸,序列化後只剩下資料成員.
4.dataset物件
支援dataset,切記:不支援datatable和datarow,dataset已經是xml webservice能夠支援的最小的可序列化物件.
5.xmlnode物件
基於xmlnode的物件可以表示xml文件的一部分.
6.陣列和集合
可以使用任何被支援的型別的陣列和簡單集合,包括: dataset物件/xmlnode物件和自定義物件.
另外,關於建立xml webservice例項**示例,幾乎任何一本涉及到webservice的書籍都會講的。而且建立乙個webservice非常簡單. 這裡就不多說了.
xml基礎知識
xml extensible markup language 即可擴充套件標記語言,它與html一樣,都是sgml standard generalized markup language,標準通用標記語言 xml是internet 環境中跨平台的,依賴於內容的技術,是當前處理結構化文件資訊的有力工...
xml基礎知識
xml extensible markup language 是html的擴充套件標籤語言,xml比html更加靈活,html的標籤是固有的 已經被定義 而xml標籤沒有固定的,所有標籤均可根據實際需要自行定義,但在語法要求上xml比html嚴格。在xml嚴格要求所有標籤必須有開始標籤和結束標籤。x...
XML基礎知識
xml 是一種類似於html的可擴充套件標記語言 extensible markup language xml中的標籤需要由使用者自己定義,因此它經常被用在資料傳輸過程中的資料儲存或作為配置檔案。xml語法說明 xml中除了標籤是自己定義的之外,其他用法均與html相同。xml檔案最前端應宣告前導 ...