最近在做軟體項目實習開發,車阿姨讓我們用SOA技術進行開發,說白了就是web service技術,貌似這個技術現在用的很多,正好趁這個機會學學這個技術。下面我想介紹一下如何調用web service。
1.自己建立一個網站
可以看到,這裡是建立的asp.net web服務。其實這個項目和第一個asp.net網站的區別就在於多了一個asmx檔案,大家可以把asp.net網站中建立的頁面複製到該項目下,完全沒有任何問題。
2.建立好後得到如下檔案
其他檔案都是我後來添上去的,注意到這裡有fanzhaoxin.asmx和fanzhaoxin.cs檔案,預先幫你建立好的service.asmx和service.cs檔案聽老大說可能出錯,所以先刪了,再重新添加新項。如:
web service基本就靠這兩個檔案,下面就使用fanzhaoxin檔案了。
3.在fanzhaoxin.cs檔案中填寫你需要的web service方法(這裡摘抄一段)
[WebMethod]
public DataTable getpatientstatebyid(string PID)
{
DataAccess.sqlcmd = “select User_ID as 體征測量護士編號,Patient_Temp as 病人體溫, Patient_Pressure as 病人血壓, Patient_Pluse as 病人脈搏 ,Patient_Height as 病人身高, Patient_Weight as 病人體重 , Doing_Date as 測量日期, Nurse_Remark as 備忘 from state where Doing_state=1 and Patient_ID=’”+PID+”‘”;
DataAccess.sqlDo();
return DataAccess.ds.Tables[0];
}
函數傳回值隨你自己定,其中string PID是別人通過網路給你傳的一個值,你的web service服務就是擷取這個值,然後在你本地的機器上通過該值進行一系列的操作,把操作結果返回給傳值給你的人。
4.發布網站,開啟IIS(IIS 在vista home版下沒有,至於如何開啟,可以上網查查,在控制台中可以開啟)
選擇default web site點擊右鍵,選擇添加虛擬目錄
名稱可以自己定,但物理地址是你發布網站的地址,我的是d:/fan,我起的名字是fanzhaoxin
點擊OK,看到IIS下面增加了一個檔案夾
在這裡點擊右鍵,選擇轉換為應用程式
轉換好以後就能看到一個應用程式了
接下來可以說你的web
service服務已經在網路上建立成功了,任何人只要知道你的web service地址即可調用你的服務。你自己可以測試一下 本地地址為:http://localhost/fanzhaoxin/fanzhaoxin.asmx
5.當其他人需要調用的時候,選擇vs項目中的添加web
引用,輸入地址即可,給個命名,點擊確定可以看到服務已經填加上去了
6.下面就在你需要的地方調用即可,寫代碼調用(給出一個例子,只不過是調用Mrcheng的服務)
Mrcheng.DataAccess data = new Mrcheng.DataAccess();
DataTable table = new DataTable();
table = data.GetInfoByNothing(); (這個是他的web 服務函數,這裡不需要我傳什麼值給他,如果需要,寫在”()”中即可)
string Name = table.Rows[0]["病曆號"].ToString();
7.web service到此應該沒有什麼問題了,對了,最後說一個很重要的內容,那就是千萬別忘記關防火牆,因為開了防火牆web service是無法訪問的,服務都添加不了,看來微軟的保護措施很嚴格啊。
感謝小馬的支援人員和老大的範例提供。