監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
重慶OA行業(yè)資訊

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊

把你的Web服務(wù)展現(xiàn)在世界面前

申請免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

把你的Web服務(wù)展現(xiàn)在世界面前

在前一篇文章里,我們通過一個(gè)基本示例演示了用.NET創(chuàng)建XML Web服務(wù)的方便性。所做的工作無非是創(chuàng)建了一個(gè)簡單的文本文件,然后把它放Web服務(wù)器上而已,輕敲少許代碼,你就輕松擁有了一種具有完備功能意義的Web服務(wù)。但是,我們還需要采取什么措施才能發(fā)布這個(gè)簡單的服務(wù)使得別人能夠用到它呢?此外,其他人用什么法子才能找到我們的服務(wù)呢?

在這篇文章里,我們就將探討一下這些問題。首先讓我們了解下名稱空間這一(namespaces)概念,有了它才能有效地避免同其他Web服務(wù)發(fā)生沖突。然后,我們接著討論如何在目錄里發(fā)布你的Web服務(wù)以便其人能夠使用它。

名稱空間

當(dāng)我們在前面的文章中創(chuàng)建ConvertMoney Web服務(wù)并且用瀏覽器訪問它的時(shí)候,.NET框架會自動地產(chǎn)生一個(gè)網(wǎng)頁。這一網(wǎng)頁的出現(xiàn)使得測試服務(wù)變得相當(dāng)容易。但是,正如你從圖A所看到的那樣,網(wǎng)頁中包含了大量信息。大多數(shù)開發(fā)者不會花時(shí)間去閱讀這些網(wǎng)頁展示的信息。然而,你應(yīng)該理解這些內(nèi)容在向你傳達(dá)些什么信息,為什么說這些信息非常重要。

圖A

 

.NET Web 服務(wù)生成的ConvertMoney網(wǎng)頁


網(wǎng)頁上的頭兩行說明以下內(nèi)容:

該Web服務(wù)用http://tempuri.org/ 作為默認(rèn)的名稱空間。

在XML Web服務(wù)公開發(fā)布之前建議修改默認(rèn)的名稱空間。

這到底是什么意思呢?原來,每一種Web服務(wù)都需要一個(gè)名稱空間(namespace)。所謂名稱空間就是標(biāo)識Web服務(wù)的一種附加的方法。如果你和某人都創(chuàng)建了同名的ConvertMoney Web服務(wù),那么這兩個(gè)Web服務(wù)將在不同的名稱空間之內(nèi)存在,這樣不會發(fā)生混淆。

.NET Web服務(wù)的缺省名稱空間是tempuri.org。其含義是“temporary uniform resource identifiers”,中文的意思是“臨時(shí)性的統(tǒng)一資源標(biāo)識符”,也可以簡稱temp URI。微軟建議,在你公開發(fā)布自己的Web服務(wù)之前最好修改這一名稱空間,哪怕“公共”這個(gè)詞語只意味著在你的公司內(nèi)部有效。通常的情況下,最好用你公司的域名作為命名空間。

設(shè)置名稱空間很簡單,在你的Web服務(wù)中添加少許代碼即可。要加入的代碼不過是出現(xiàn)在類之前的WebService關(guān)鍵詞的一個(gè)屬性。就我們的ConvertMoney Web服務(wù)而言,代碼的前3行原本如下所示:

<%@ WebService Language="VB" Class="ConvertMoney" %>
Imports System.Web.Services
<WebService()>Public Class ConvertMoney

為了修改名稱空間你只需要在WebService標(biāo)簽之前添加Namespace屬性即可,如下所示:

<%@ WebService Language="VB" Class="ConvertMoney" %>
Imports System.Web.Services
<WebService(Namespace:="
http://volanttraining.com")> _
Public Class ConvertMoney

由于增加了這個(gè)Namespace屬性,現(xiàn)在你的ConvertMoney Web服務(wù)就同其他人的 ConvertMoney Web服務(wù)區(qū)分開了。如果你再運(yùn)行Web服務(wù),關(guān)于tempuri.org的提示信息就不再出現(xiàn)了(圖B)。該服務(wù)的運(yùn)行沒什么變化,和以前一樣,但它不再使用tempuri.org這個(gè)缺省的名稱空間了,現(xiàn)在它正使用的名稱空間是volanttraining.com。

圖B

 

沒有提示信息的ConvertMoney Web服務(wù)

UDDI:用于Web服務(wù)的黃頁

為了發(fā)布你的Web服務(wù)以便其它人能使用它,你需要在一個(gè)可查找的目錄中登記自己的服務(wù)。幸好,這樣的一種目錄已經(jīng)出現(xiàn)了:這就是所謂的UDDI。UDDI是一種開放的、與供應(yīng)商無關(guān)的標(biāo)準(zhǔn),它就像是網(wǎng)絡(luò)世界中的黃頁。你可以通過UDDI找到現(xiàn)有的Web服務(wù)或者發(fā)布你自己的Web服務(wù)。其實(shí),Web服務(wù)并沒有拷貝到UDDI服務(wù)器上,UDDI的作用不過是列出現(xiàn)有的服務(wù)指引人們找到服務(wù)所在的服務(wù)器。從這一意義來看,它是一種真正的信息索引目錄而不是存儲具體信息的倉庫。

你可以訪問UDDI的網(wǎng)站了解有關(guān)UDDI的更多信息。這是公共的UDDI,任何人都能從中檢索它,通過它列出Web服務(wù)信息。為了使用公共的UDDI目錄,你必須注冊一個(gè)帳號。當(dāng)然,你還可以在自己的機(jī)構(gòu)內(nèi)引入U(xiǎn)DDI;在你的企業(yè)內(nèi)部安裝UDDI服務(wù)器之后,你的開發(fā)人員就可以發(fā)布、發(fā)現(xiàn)和使用Web服務(wù)了。

當(dāng)你訪問UDDI網(wǎng)站的時(shí)候,你可以在目錄中注冊你的公司。因?yàn)閁DDI是一個(gè)開放的計(jì)劃,所以微軟、HP以及IBM等公司都在使用它。參與該計(jì)劃的每家公司都運(yùn)行著自己的UDDI服務(wù)器,因此你必須選擇自己想訪問的公司。版本1就是目前的UDDI版本,版本2還處于測試階段。如果你決定訪問微軟版本1 UDDI站點(diǎn),那么你可以從這里檢索現(xiàn)有的Web服務(wù)。

UDDI在檢索特定服務(wù)或功能方面具有相當(dāng)高的靈活性。你可以根據(jù)公司的名字、商業(yè)地點(diǎn)、SIC代碼或其他標(biāo)準(zhǔn)檢索服務(wù)。例如,如果你想檢索術(shù)語“zip”,搜索條件設(shè)置為“按名稱檢索”,那么返回的Web服務(wù)的名字將包含“zip”字樣。

除了檢索服務(wù)以外,你還可以注冊自己。一旦你在網(wǎng)站上注冊了自己的公司,你就能為你注冊的Web服務(wù)添加服務(wù)名、服務(wù)說明和Web地址。

小結(jié)

我們現(xiàn)在知道用.NET創(chuàng)建XML Web服務(wù)以及添加名稱空間來區(qū)別其他Web服務(wù)的過程相當(dāng)簡單。然后,你可以把自己的服務(wù)發(fā)布到使用UDDI的公共目錄以便其它人能發(fā)現(xiàn)并且消費(fèi)你的Web服務(wù)。你還可以用UDDI尋找其他的Web服務(wù)用在自己的應(yīng)用程序里,此外,你甚至可以你的機(jī)構(gòu)內(nèi)部使用UDDI,通過它為你的企業(yè)開發(fā)注冊Web服務(wù)。

發(fā)布:2007-03-25 10:25    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章: