如果使用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