下面是我關于Web服務的一點學習小結,當然還是非常的簡單粗淺.希望對大家能有所幫助.更歡迎批評指正. 如何創建并且使用 Web 服務 創建 Web 服務 一般來說有 2 種方式來創建 Web 服務 l 直接編寫 Web" name="description" />

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 創建,測試和使用Web服務的小結

    發表于:2007-05-25來源:作者:點擊數: 標簽:web測試楷體小結創建
    MI LY: 楷體_GB2312; mso-hansi-font-family: 華文中宋"> 下面是我關于Web服務的一點學習小結,當然還是非常的簡單粗淺.希望對大家能有所幫助.更歡迎批評指正. 如何創建并且使用 Web 服務 創建 Web 服務 一般來說有 2 種方式來創建 Web 服務 l 直接編寫 Web

    MILY: 楷體_GB2312; mso-hansi-font-family: 華文中宋">下面是我關于Web服務的一點學習小結,當然還是非常的簡單粗淺.希望對大家能有所幫助.更歡迎批評指正.

     

    如何創建并且使用Web服務

     

    創建Web服務

    一般來說有2種方式來創建Web服務

    l         直接編寫Web服務文件(*.asmx);

    l         首先實現業務對象,然后僅僅用asmx文件曝露;

    注意: *.asmxASP.NET Web服務的擴展名,并不是所有的Web服務都是此方式供用戶測試,其他廠商提供的Web服務往往只是一個Port.

       

    1.     創建簡單Web服務文件

    <%@ WebService Language = C# Class = HelloMessage %>

    using System;

    using System.Web.Services;

     

    public class HelloMessage : WebSerive

    {

    [WebMethod]

    public string SayHello(string strName)

    {

        return “Hello, ” + strName;

    }

    }

     

    首先需要加入 WebService的編譯指令以指明其是一個Web服務,接下來是語言屬性,和一個Web服務類的屬性class.

    注意:在一個asmx文件中可以有很多類,當時只能有一個用于Web服務.

     

    HelloMessage繼承了System.Web.Services.WebService這個類.

    [WebMethod]這個屬性一定要加到想要使用的Web方法前.注意該方法的Modifier必須是public.

    希望用戶訪問的web方法一定要是公用的,且必須包含屬性[WebMethod].含有該屬性的方法將把所有調用者都看作是本地的.

     

    [WebMethod]屬性的進一步說明可以參看ASP.NET21.

     

    2.     業務對象法

    可以使用已有的業務對象來創建Web服務,可以大大的降低工作量.當然為了啟動服務支持,必須做一些相應的修改.簡單來說,需要做三件事:

    l         對象必須從WebService類繼承;

    l         給要暴露的方法加上[WebMethod]屬性,當然Modifier也必須是public;

    l         把返回值是XXDataReader的改為DataSet,因為前者無法通過XML傳輸;

    注意:因為只有從WebService繼承而來的類才會作為服務暴露給客戶,所以您可以在同一個文件中創建對象的多個版本.

     

    然后,將業務對象編譯成程序集放在相應的目錄下.

     

    然后構建暴露業務對象服務的.asmx文件,非常簡單,只需要一句.

    <%@ WebSerive Class = YourNamespace.YourServiceClass %>

     

    測試Web服務

           對于.NET 框架建立的Web服務而言,直接在IE瀏覽器中就可以看到測試界面了.比如:

    http://www.hillfree.com/myservice.asmx

     

    一般來說可以看到Web服務類和Web方法. 調用Web服務可以有三種方法.(當然,不是所有的Web方法都可以用三種方法調用.):

    1.         SOAP

    2.         HTTP-GET

    3.         HTTP-POST

     

    使用SOAP調用服務傳遞命令和參數,可以使用很多基于XML的數據類型.(i.e. Array, class, DataSet, primitive, xmlNode etc.)

     

    但如果使用HTTP GETHTTP POST, 則只能使用這些協議所能處理的類型.一般就是primitive基本類型和數組. 此外HTTP GET/POST也只能發送名值對,不能傳遞復雜的數據類型.

     

    需要查看相關的說明文件時,可以輸入:

    http://www.hillfree.com/myservice.asmx?WSDL

    這是一個xml文件.

    使用Web服務

    使用Web服務,一般包括三個步驟

    1.         發現服務

    2.         生成服務的代理

    3.         編寫客戶端程序,使用代理調用所需的服務.

     

    發現服務:

           使用disco.exe工具來發現Web站點的Web服務,:

           disco http://localhost/service/day/fain.disco

    生成服務代理類

           使用wsdl.exe 工具生成Web服務代理類.如下:

           wsdl http://www.hillfree.com/service.asmx?wsdl 

    //如果直接知道wsdlurl,就不要發現那一步了.

     

           這樣默認生成的是C#的類. 當然,如果已經有了WSDL文件就可以直接:

           wsdl service.wsdl

          

    接下來,您可以直接使用該類文件,或者將其編譯為程序集使用.

     

    簡要介紹一下代理類:

           生成的代理類包含一個來自System.Web.Services的屬性[WebServiceBindingAttribute].

    該屬性定義了這個類必須使用的接口.

           另外,此類是從SoapHttpClientProtocol繼承而來的,它通過SOAPWeb服務遠程通信.代理類中包含一個構造函數,它設置了Web服務的URL.

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>