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