不同的系統之間經常會需要數據的交換對接,而Web Service技術, 能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件, 就可相互交換數據或集成。依據Web Service規范實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什么, 都可以相互交換數據。Web Service是自描述、 自包含的可用網絡模塊, 可以執行具體的業務功能。Web Service也很容易部署, 因為它們基於一些常規的產業標准以及已有的一些技術,諸如標准通用標記語言下的子集XML、HTTP。Web Service減少了應用接口的花費。Web Service為整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制。【百度百科】
在此記錄一下asp.net webservice的簡單示例:
1:首先在項目中添加web服務(即asmx文件)。
2:添加后asmx文件默認代碼如下。
3:自定義一個test接口方法,(Description = "測試服務是否通")為部署之后方法的描述信息。
[WebMethodAttribute(Description = "測試服務是否通")] public string test() { return GetResult(true, "連接成功", "", "test", ""); } public string GetResult(bool status, string description, string UserData, string MethodName, string XMLPars) { StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"gb2312\"?>"); sb.Append("<DataBody>"); sb.Append("<DATA>"); sb.Append("<ReturnInfo>"); sb.Append("<Status>" + status.ToString() + "</Status>"); sb.Append("<Description><![CDATA[" + description + "]]></Description>"); sb.Append("</ReturnInfo>"); if (status && UserData != "") { sb.Append("<UserArea>" + UserData + "</UserArea>"); } sb.Append("</DATA>"); sb.Append("</DataBody>"); //保存接口調用日志 //string ClientIP = Context.Request.ServerVariables.GetValues("REMOTE_ADDR")[0]; //DB_XXTWebServiceLog.InsertLog(ClientIP, MethodName, System.Text.Encoding.Default.GetBytes(XMLPars), System.Text.Encoding.Default.GetBytes(sb.ToString()), status ? "1" : "0", description); return sb.ToString(); }
3:編譯項目,並部署至IIS,新建應用程序池,添加應用程序。
4:在瀏覽器中即可訪問該服務
5:可以在瀏覽器中調用test方法來測試服務是否通
6:具體如何調用,不同的語言有不同的形式。至於如何在webservice中使用xml傳輸數據見 WebService,ASMX文件使用XML格式數據傳遞參數、驗證與獲取XML格式返回值的一種方式