遠程調用webservice

如果使用VS2005以後開發的
Web Service默認情況下是不支持遠程調試的,因此Web.config文件中的
<system.web>節點下加入如下信息:
       <webServices>
            <protocols>
                 <add name="HttpGet"/>
                 <add name="HttpPost"/>
                 <add name="HttpSoap"/>
                 <add name="Documentation"/>          
           </protocols>
         </webServices>
        其中的<protocols>節點指定了ASP.NET Web服務可用來接收從客戶端發送來的
請求數據和返回響應數據的協議。

 

1.建立客戶端應用程序
       文件->新建->項目->Windows窗體應用程序,點擊確定:

2.引用Web服務
       選擇“視圖”->“解決方案資源管理器”,在管理器中右鍵點擊項目名稱,選擇“添加
服務引用”:

在彈出的“添加服務引用”窗口的地址欄輸入Web服務的地址http://XX.XXX.XXX.XX/test/Service.asmx ,點擊“前往”按鈕:

輸入命名, 選擇“確定按鈕”,如果WEB服務有錯,會提示相關錯誤信息.
3.調用Web服務方法
      由於使用的是VS2008,因此需要在代碼中增加引用的服務,還要在代碼中實例化:
      (1)在設計窗體代碼中引用WEB服務:
      using WebServiceClient.Server;//using 客戶端應用程序名.引用服務時起的命名空間名

       (2)在Button點擊事件代碼進行實例化,調用WEB服務提供的方法:
         ServiceSoapClient ws = new ServiceSoapClient();//服務端服務名+SoapClient
         TestData data= ws.GETDATA();
         //TestData爲服務端設置的自定義存儲信息結構

 

如果出現無法加載協定爲“ServiceReference.Service1Soap ”的終結點配置,更改客戶端的app.config

<client>
            <endpoint address="http://192.168.4.153/webservice1/Service1.asmx"
                binding="basicHttpBinding" bindingConfiguration="Service1Soap"
                contract="mywebservice.Service1Soap" name="Service1Soap" />
        </client>

查看是否有多個endpoint

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章