远程调用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

阅读更多
换一批

没有更多推荐了,返回首页