當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊
一步一步開(kāi)始Web Service
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org一步一步開(kāi)始Web Service
一看題目知道這是有關(guān)Web Service的,不過(guò)我不想再寫(xiě)什么理論的東東,只想通過(guò)一個(gè)例子實(shí)踐一下,但愿你也一樣,那么這篇文章對(duì)你會(huì)有幫助。
整個(gè)例子包括了所有的Web Service 的過(guò)程,我計(jì)劃這樣做:
1. 建立一個(gè)ASP+ Web服務(wù)
2. 完成.asmx文件,然后再瀏覽器中測(cè)試。
3. 創(chuàng)建一個(gè)這個(gè)Web Service 的客戶。
4. 客戶得到這個(gè)Service
我的遇到的問(wèn)題是在第4步,客戶端始終沒(méi)有得到Web Service的位置,盡管它們都在同一機(jī)器上但彼此不認(rèn)識(shí)。然后我用VS。NET 沒(méi)有任何問(wèn)題,所有的過(guò)程ZIP包中幾乎都有,而且我還想試一下Net程序的分發(fā),VS這方面也很不錯(cuò)。
Zip包中的WebServiceAll.zip中有整個(gè)Project的文件和代碼。
不過(guò)最好安裝了VS.NET beta 2 ,最少你要安裝Framework SDK beta 2 。
具體說(shuō):
1. 在VS.NET 中建立一個(gè)ASP WEB Service的項(xiàng)目,然后在產(chǎn)生的 .asmx 的類(lèi)中實(shí)現(xiàn)你的功能也就是Service,我寫(xiě)了兩個(gè)簡(jiǎn)單的函數(shù)一個(gè)是HelloWorld 函數(shù)返回一個(gè)“HelloWorld”的字符串。另一個(gè)是一個(gè)Add操作返回兩個(gè)數(shù)的和。好了后把它設(shè)置成默認(rèn)頁(yè),F(xiàn)5。如果沒(méi)有錯(cuò)誤IE應(yīng)當(dāng)自動(dòng)啟動(dòng)了。和普通的語(yǔ)法沒(méi)有差別,唯一是在函數(shù)前面加一個(gè)WebMethod的標(biāo)記
VB:public Function Add( a as integer , b as integer ) as integer : Add= a+b ; end functi
C#:[WebMethod] public void int Add( int a, int b ) { return a+b ; }
VS。NET會(huì)幫你生成一個(gè).asmx.vb 的文件放你的代碼,如果是手工的話直接在.asmx中寫(xiě)就可以了。
2. 你可以看到一個(gè)很格式的頁(yè)面顯示出你剛剛的兩個(gè)函數(shù)(或說(shuō)Service)甚至你可以執(zhí)行它,比如看看輸出的“HelloWord”和做一個(gè)3+2得到5的結(jié)果,這樣Web Service建立成功了。
3. 你需要建立一個(gè)Web Service的客戶,讓它得到你提供的這些服務(wù)獲得”HelloWord”和相加的結(jié)果。所有你需要產(chǎn)生一個(gè)SDL文件,它和IDL相似,IDL編譯會(huì)形成一個(gè)類(lèi)型庫(kù),使VB的開(kāi)發(fā)中可以前期綁定,然后VB,InterDev開(kāi)發(fā)環(huán)境中可以顯示智能化的幫助。
有三種方式可以產(chǎn)生:手工自己寫(xiě),使用dotnet工具,由.asmx文件生成。自動(dòng)的生成的可以用于觀看和測(cè)試不能保存下來(lái),如果要保存你需要使用一個(gè)Framework
SDK 的工具 disco.exe 它在C:Program FilesMicrosoft.NETFrameworkSDKBin
目錄中你可以先在IE中這樣試 :
http://localhost/WebService1/Service1.asmx?WSDL
,如果成功會(huì)有一個(gè)XML顯示在IE中,這也是自動(dòng)方式了。然后你在dos提示符下 disco http://localhost/WebService1/Service1.asmx?WSDL
意思是你想保留這個(gè)文件,執(zhí)行成功后你可以看到這個(gè) .wsdl的文件。
4. 然后有些象Java也象VB,容易理解了,那就是你要生成一個(gè)代理類(lèi),然后在客戶端調(diào)用這個(gè)類(lèi)中的方法,也就是Services。 這時(shí)你需要用Framework SDK中的另一個(gè)工具 wsdl.exe 用它生成一個(gè).cs .vb 或 .js的文件,編譯這個(gè)文件生成一個(gè)DLL,就是所謂的代理類(lèi)了。然后就可以在dotnet的網(wǎng)頁(yè),GUI窗體,web窗體或控制臺(tái)程序中調(diào)用HelloWorld 和Add 函數(shù)就完成全部了。具體的語(yǔ)句:
wsdl /out::myWebService1.cs http://localhost/WebService1/Service1.asmx
成功后你可以看到這個(gè)CS文件生成。
5. 然后編譯這個(gè)類(lèi)
csc /out:myWebService1.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll myWebService1.cs
如果成功DLL也生成,現(xiàn)在就差寫(xiě)一個(gè)表現(xiàn)層也調(diào)用這個(gè)Service了。我手工方式就阻在這個(gè)表現(xiàn)層上,我想是我生成的.wsdl沒(méi)有被用上,也就是找不到這個(gè)Services 。
4,5我是手工做的,不想再建一個(gè)Project去編譯myWebService1.cs了。Dotnet有個(gè)好處,組件只用編譯后自動(dòng)注冊(cè),不用象Com那樣還要 regsvr32 一下,而且目前Com組件和dotnet組件是完全不同的,也就是說(shuō)在VB的Reference 和Oleview中你會(huì)失望的,看不到這個(gè)dotnet組件。
6. 然后就可以在你的應(yīng)用中調(diào)用這個(gè)組件了,應(yīng)用很簡(jiǎn)單,大體都是:
dim obj as new Service1
dim retStr as string
dim retIntVal as string
retStr = obj.HelloWorld()
retIntVal = obj.Add( 300 , 500 )
這樣看來(lái)dotnet還是很有意思的,至少向你展現(xiàn)了一種不同的東西,我想用過(guò)Com或Com+的大俠們很容易想起這類(lèi)似一種遠(yuǎn)程或Internet方式的Com,以前的com有致命的弱點(diǎn),無(wú)法穿透防火墻,現(xiàn)在這種方式不僅靈活而且協(xié)議更加標(biāo)準(zhǔn)。底層的它封裝和隱藏了SOAP和其它的網(wǎng)絡(luò)協(xié)議,中間靠XML來(lái)傳遞數(shù)據(jù)和信息。你只用專(zhuān)心在Service功能上。
想想新浪的新聞服務(wù)如果有這樣的Web Service接口,大家的網(wǎng)站上只有簡(jiǎn)單幾句就可以有新聞顯示了。同樣股票站點(diǎn)可以為你提供股票信息,旅游航空公司提供旅游和航班信息。太多了,而且時(shí)時(shí)更新,我想以后會(huì)有一個(gè)Web Service的接口或門(mén)戶網(wǎng)站,它也會(huì)象Yahoo一樣成為眾所周知的入口。
一些資源:
Framework SDK beta 2
http://download.microsoft.com/download/VisualStudioNET/Trial/2.0/W982KMeXP/EN-US/setup.exe
Microsoft ASP.NET Premium Edition 如果裝VS.NET beta 2 前忘記裝IIS,那么裝完IIS再裝它可以不用重新安裝整個(gè)VS.NET beta 2
http://download.microsoft.com/download/VisualStudioNET/Trial/2/W982KMeXP/EN-US/setup.exe
SOAP Toolkit 2.0 SP2
http://download.microsoft.com/download/xml/soap/2.0/W98NT42KMe/EN-US/SoapToolkit20.exe
Programming .NET with C#
http://www.gotdotnet.com/featured_site/developmentor/assemblies2.pdf
XML Spy 4.0b2
http://www.xmlspy.com/download/beta/
Visual XSLT for VS.NET beta2
http://downloads.activestate.com/VisualXSLT/VisualXSLT-1.0.0-Beta3-1730.msi
MSDN Show : 介紹VS.NET Beta 2
http://a138.ms.a.microsoft.com/f/138/1611/2h/download.microsoft.com/download
/VisualStudioNET/Utility/15/WIN98MeXP/EN-US/Episode015.exe
不錯(cuò)的C#編輯器,也可開(kāi)發(fā)并且支持 Framework SDK beta 2 , 新版本還有動(dòng)態(tài)函數(shù)幫助
http://www.c-point.com/download/csharped.zip
SOAP Extensions with Visual Basic .NET
http://msdn.microsoft.com/msdn-files/026/002/305/VBSoapEx.exe
- 1COM+ Web服務(wù):通過(guò)復(fù)選框路由到XML Web Services
- 2網(wǎng)上銀行:讓我不用它幾乎不可能
- 3知識(shí)分子的力量
- 4供應(yīng)鏈管理中涉及的主要四大問(wèn)題
- 5Web服務(wù)走向何方?
- 6[原創(chuàng)]ITIL系列專(zhuān)題(七)-啟動(dòng)管理改進(jìn)的項(xiàng)目
- 7成功率低將制約中小企業(yè)信息化進(jìn)程
- 8IT治理的利器其二:ITIL
- 9IT項(xiàng)目管理:成本風(fēng)險(xiǎn)中游走
- 10后金融危機(jī)時(shí)代 PLM讓核電建設(shè)多快又省
- 11一頁(yè)紙上的IT治理(二)(AMT研究院 黃慶揚(yáng))
- 12SOA治理策略之關(guān)鍵:注冊(cè)/存儲(chǔ)庫(kù)
- 13經(jīng)濟(jì)蕭條中腳踏實(shí)地逐步搭建電子商務(wù)平臺(tái)
- 14ITIL V3的出現(xiàn)改變了什么
- 15IT讓銀行更有趣
- 16Java和.Net:網(wǎng)絡(luò)服務(wù)誰(shuí)主沉???
- 17為什么需要Web Service
- 18[原創(chuàng)]亡羊補(bǔ)牢,為時(shí)已晚
- 19IT治理的十條原則(上)
- 20“SOA將死說(shuō)”:是預(yù)言還是反思?
- 21條形碼全流程管理醫(yī)院資產(chǎn)
- 22IT治理內(nèi)外兼修
- 23專(zhuān)家稱SOA已遭經(jīng)濟(jì)衰退扼殺建議放棄
- 24訣竅:永遠(yuǎn)不做軟件選型的看門(mén)人
- 25使用低代碼平臺(tái)開(kāi)發(fā)行業(yè)OA系統(tǒng)軟件來(lái)做市場(chǎng)推廣
- 26技術(shù)架構(gòu)項(xiàng)目選型:企業(yè)資源的兼容性
- 27企業(yè)基礎(chǔ)架構(gòu)面臨三大挑戰(zhàn)三大機(jī)遇
- 28賣(mài)場(chǎng)哲學(xué):如何制作賣(mài)場(chǎng)報(bào)價(jià)單
- 29信息化規(guī)劃框架:外延、內(nèi)涵及方法淺談
- 30重慶OA必須增強(qiáng)自身的交流溝通能力、交流的心態(tài)和技巧
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
泛普重慶OA行業(yè)資訊其他應(yīng)用
重慶OA軟件 重慶OA新聞動(dòng)態(tài) 重慶OA信息化 重慶OA客戶 重慶OA快博 重慶OA行業(yè)資訊 重慶軟件開(kāi)發(fā)公司 重慶網(wǎng)站建設(shè)公司 重慶物業(yè)管理軟件 重慶餐飲管理軟件 重慶倉(cāng)庫(kù)管理系統(tǒng) 重慶門(mén)禁系統(tǒng) 重慶微信營(yíng)銷(xiāo) 重慶ERP 重慶監(jiān)控公司 重慶金融行業(yè)軟件 重慶B2B、B2C商城系統(tǒng)開(kāi)發(fā) 重慶建筑施工項(xiàng)目管理系統(tǒng)開(kāi)發(fā)
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114