XML基礎知識

2021-04-12 20:18:34 字數 2053 閱讀 4541

好多書籍只介紹建立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檔案最前端應宣告前導 ...