Xml WebService完全例項解析 一

2021-04-08 19:16:04 字數 1073 閱讀 6621

最近閒來無事,想起blog很久沒寫新文章了,乾脆來寫個專題好了,想來想去,乾脆寫個有關webservice的示例文章吧.

首先,我們必須了解什麼是webservice.就概念上來說,可能比較複雜,不過我們可以有個巨集觀的了解:webservice就是個對外的介面,裡面有函式可供外部客戶呼叫(注意:裡面同樣有客戶不可呼叫的函式).假若我們是服務端,我們寫好了個webservice,然後把它給了客戶(同時我們給了他們呼叫規則),客戶就可以在從服務端獲取資訊時處於乙個相對透明的狀態.即是客戶不了解(也不需要)其過程,他們只獲取資料.

webservice傳遞的資料只能是序列化的資料,典型的就是xml資料,這裡我們也只討論xml資料的傳輸.

有了一些對xml webservice的初步了解後,我們將切入正題,即是用乙個具體的webservice事例的形式來講解具體的webservice用法,用具體的事例來講解乙個概念我想怎麼也要比單純的說理能讓人容易理解吧.

這裡,我們將以乙個簡單的分布式課件搜尋系統為例來講解.使用vs2003為編譯環境,c#為語言,sqlservcer2000為資料庫.(這個例子**於一位網上朋友的文章的啟發,覺得很能代表webservice的特點,就按那個想法做了這麼個系統來示例了)

首先,明確我們要做什麼.我們需要乙個對客戶的介面,也就是個站點,我們把它稱做servicegathersite,它是何種形式都無所謂,甚至它本身並不需要資料庫,它只是提供給使用者乙個查詢的介面,真正的服務,普通使用者是不接觸到的.然後,這裡我們還需要若干個提供服務的站點,我們可以稱它們為資源站,這裡為簡單起見,假設有兩個資源站,分別叫websitea,websiteb,它們可以是不對外公布的,只是為了豐富查詢資料而存在.最後,是我們最需要關注的東西---資源站提供給servicegathersite的服務.兩個資源站,就有兩個服務,我們稱為siteaservice和sitebservice.兩個服務間沒有任何關係,內部提供的方法也完全沒關聯,只是需要把方法如何使用告訴servicegathersite,意思是,服務只提供查詢介面,返回的資料如何處理,服務本身並不管,全由使用服務的站點分配.

寫了這麼多,算是簡要的介紹了下有關xml webservice的概念和我們這個例子的結構,下篇文章,我們將開始真正進入**的設計階段.

Xml WebService完全例項解析 三

接上篇文章,我們先簡單解釋下getsiteadata string assignname 函式.函式功能很簡單,只是要返回查詢結果,其資料格式是xmldatadocument.當查詢失敗時 無匹配查詢結果 我們構造乙個xml,返回乙個空記錄.否則,我們把查詢後的dataset生成乙個xmldatad...

Xml WebService完全例項解析 一

最近閒來無事,想起blog很久沒寫新文章了,乾脆來寫個專題好了,想來想去,乾脆寫個有關webservice的示例文章吧.首先,我們必須了解什麼是webservice.就概念上來說,可能比較複雜,不過我們可以有個巨集觀的了解 webservice就是個對外的介面,裡面有函式可供外部客戶呼叫 注意 裡面...

Xml WebService完全例項解析 四

最近時間太少了,馬上要走了,這篇文章就算是結尾吧,可能說明會少些,多些.接上篇文章,我們先簡單說明下繫結函式.首先例項化servicea,這個和一般類的例項化並沒有不同.接下來用xmlnode1來接受函式的返回值,接下來是構造xml,並將其轉化為dataset,這是通用的方法,如果是剛接觸不久的朋友...