發表文章

目前顯示的是有「Web Service」標籤的文章

ASP.NET WebService(三)_WebService安全機制導入_SoapHeader

圖片
接續之前兩篇Web Service的介紹與筆記   ASP.NET WebService(一)_Web Service專案_分散式應用介紹雜記 ASP.NET WebService(二)_三種存取方式介紹_webmethod屬性大致介紹 透過前面第二篇會知道所謂WebService就是寫一個沒有網頁畫面給人家Call的公用Method 也學習到怎麼寫個門戶大開的WebService 門戶大開!!!沒錯仍有不足地方 基於資安考量我們還需要特別有權限控管 不能讓知道Web Service URL的人都可以隨意就進行存取~~~ 就跟郵差寄來的郵件一樣 你不希望有人去拆或動自己的郵件一樣 通常會有一層信封的包覆 這個概念就有點類似SOAP本身資料傳送時候的訊息格式 以下是SOAP本身的訊息格式示意圖 這裡介紹透過利用SoapHeader方式來設計具有權限防範的WS程式 通常可能會在Header夾帶一些驗證識別資訊作為一道授權控管手法 Step1.新增一個Class 命名為 MemberSoapHeader (可能是某個組織或論壇網站的會員、員工、成員....) 使用命名空間using System.Web.Services.Protocols; 並使其繼承SoapHeader using System ; using System . Collections . Generic ; using System . Linq ; using System . Web ; using System . Web . Services . Protocols ; namespace WSApp { public class MemberSoapHeader : SoapHeader { private string _userName ; private string _pwd ; public string UserName { get { return _userName ; } set { _userName = value ; } } ...

ASP.NET WebService(二)_三種存取方式介紹_webmethod屬性大致介紹

圖片
很久以前曾整理過一篇xml webservice部落格文章 https://coolmandiary.blogspot.com/2017/11/web-service.html  可以得知用於應用程式整合、B2B整合和跨防火牆的通訊 如今因為又看到其他文章跟在實際專案中再次見面 因此想再加深補充實務上的經驗分享當筆記 在此之前先溫顧一下 在.NET WebService中共分為三種存取途徑 1.EndPoint (SOAP): 也就是比較常在市面上基礎教授書籍中講的URI location  會直接條列出web service所包含的一系列方法及方法描述、Class描述 是XML based的message template,是Browser跟WebService之間溝通收發的橋樑。 實際案例: http://www.webxml.com.cn/WebServices/WeatherWS.asmx 2.Disco(Web Service Discovery):用於指向web服務位置 Disco 的用途就像電話簿和搜尋引擎網站一樣,提供資訊分類以及尋找的服務,讓我們能方便迅速找到所需的 Web Services。 其運作原理是,當開發人員將一個 Web Service 設計完成之後,可以將它登錄到一個集中的地方,其他人就可以向這個集中地查詢找到需要的服務。這個登錄-查詢的機制只要就是依靠 UDDI(Universal Description, Discovery and Integration) 來達成。 (備註:在不知道哪裡有你需要的 Web Services情境下起到作用。) 實際案例: http://www.webxml.com.cn/WebServices/WeatherWS.asmx?disco 3.WSDL(Web Services Description Language): 用於描述webservice服務定義的方法、屬性、Binding的協定、Port、URI 當在網路上找到一個 Web Service,如何知道怎樣使用?有哪些服務、方法可以呼叫? 要傳遞對應哪些參數? (備註:是在你已經確定要使用某個 Web Service 並且知道其網址的情形下才有用) 實際案例: http://www.webxml.com.cn/WebSer...