發環境
OS:win10 企業版
開發工具:VS2017
IIS版本:6.0
.NET版本:4.6.1
Web Service
簡介
Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過SOAP在Web上提供的軟件服務,使用 WSDL文件進行說明,並通過UDDI進行注冊。
XML:(Extensible Markup Language)擴展型可標記語言。面向短期的臨時數據處理、面向萬維網絡,是Soap的基礎。
Soap:(Simple Object Access Protocol)簡單對象存取協議。是XML Web Service 的通信協議。當用戶通過UDDI找到你的WSDL描述文檔后,他通過可以SOAP調用你建立的Web服務中的一個或多個操作。SOAP是XML文檔形式的調用方法的規范,它可以支持不同的底層接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一個 XML 文檔,用於說明一組 SOAP 消息以及如何交換這些消息。大多數情況下由軟件自動生成和使用。
UDDI (Universal Description, Discovery, and Integration) 是一個主要針對Web服務供應商和使用者的新項目。在用戶能夠調用Web服務之前,必須確定這個服務內包含哪些商務方法,找到被調用的接口定義,還要在服務端來編制軟件,UDDI是一種根據描述文檔來引導系統查找相應服務的機制。UDDI利用SOAP消息機制(標准的XML/HTTP)來發布,編輯,瀏覽以及查找注冊信息。它采用XML格式來封裝各種不同類型的數據,並且發送到注冊中心或者由注冊中心來返回需要的數據。
1.特點:開放性,跨平台性,開放性是webservice的基礎
2.XML通用標記語言,以及HTTP協議遠程交互
3.三種調用方式:httppost,httpget,httpsoap
簡單例子
首先,創建空web應用程序
選擇空web應用程序
添加完成之后需要右鍵點擊剛剛添加的空網站點擊添加服務
添加服務后打開該服務增加WebMethod標記為公開方法
這里我還添加了一個ajax測試方法
就此編輯階段完成,這里添加一下源碼:
namespace webserviceTest { /// <summary> /// webserviceone 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消注釋以下行。 // [System.Web.Script.Services.ScriptService] //繼承於webservice,該基類提供基本通信參數 public class webserviceone : System.Web.Services.WebService { //若不添加該標記此方法將無法訪問 [WebMethod] public string HelloWorld() { return "Hello World"; } //可訪問webservice方法 //Description 方法概述 [WebMethod(Description ="測試方法1")] public string Addstring(string a, string b) { return string.Format(a + b); } //不可訪問方法 public string Substring(string a, string b) { return string.Format(a +"-"+ b); } } /// <summary> /// 僅僅用作練習,允許ajax調用 /// </summary> [System.Web.Script.Services.ScriptService] public class webservicetwo : System.Web.Services.WebService { [WebMethod] public string Ajaxstring() { return "Hello AJAX"; } } }
右鍵點擊該頁面 選擇在瀏覽器中查看就可以看到該方法:
訪問成功之后開始部署該服務到服務器,當前是部署到了我本機
注意,進入發布之后選擇發布類型時候選擇文件夾 或者 自定義模式
選擇之后需要配置該服務位置以及方式如圖:
配置成功之后選擇發布,注意看一下生成結果:
發布成功后就可以配置iis服務器啦,我本機為IIS6服務 成功安裝iis信息服務器之后 按下win+r 鍵 召喚運行 輸入inetmgr
iis信息服務器配置頁面出現 如下圖:
點擊確定后該服務就發布出去啦訪問該服務地址后會出現各種報錯,下面是總結報錯:
該問題是因為默認文檔未設置,解決方式有兩部,首先不僅要去配置默認文檔,還要添加一下該文件擴展名信息:
默認文檔設置:
請求篩選:
該文件擴展名為webservice文件擴展名。.asmx這里注意是有點的
有時候也會出現權限問題等等需要在網站設置一下:
設置該權限之后問題解決,就可以成功訪問該webservice啦
當然還有很多其他錯誤這里就不一一介紹了