webservice简单实践

   第一步、在网站中右键添加新项,选择web服务:

   

  第二步、在App_Code下面生成的WebService.cs文件中写上发布的webservice的地址和调用的方法,按业务逻辑书写这以Add()方法为例:

第三、本地测试看看调用效果是否成功,分别输入y和z的值30和33返回结果:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<int xmlns="http://domain/WebService2">63</int>

第四、生成解决方案发布到服务器并浏览:

 *必须指定默认的访问页面。我的开始没有指定出现乱码。后在webconfig的system.web下面设置了编码:

<globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8" culture="zh-CN"/>

 当我直接浏览webservice那个方法时提示:测试窗体只能用于来自本地计算机的请求. 

解决方法:同样在webconfig中的system.web的配置节点添加协议节点即可正常访问如下添加代码:

<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>

第五步、在本地的另一个项目中点击右键添加服务引用:在地址那栏写上你的webservice的路径点击前往即可找到自己发布在iis上的方法:

            其中发现那里是搜索本地的webservice方法。底下的命名空间是你要调用时的命名空间:

第六部、直接新建个test.aspx文件在后台测试调用webservice方法:

第七部、查看结果并附带引用的相关文件截图,webservice的简单使用过程即完成:

*注意当你重复或者修改了相关引用webservice后,浏览会出现如下错误:导致原因是修改后配置文件没有及时的自动更新要手动修改。

法加载协定为“ServiceReference1.WebServiceSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。

解决办法是在配置文件中生成了多个 <endpoint >节点,把不要的删除即可。

   

原文地址:https://www.cnblogs.com/professional-NET/p/4818019.html