发环境
OS:win10 企业版
开发工具:VS2017
IIS版本:6.0
.NET版本:4.6.1
Web Service
简介
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用 WSDL文件进行说明,并通过UDDI进行注册。
XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。
1.特点:开放性,跨平台性,开放性是webservice的基础
2.XML通用标记语言,以及HTTP协议远程交互
3.三种调用方式:httppost,httpget,httpsoap
简单例子
首先,创建空web应用程序
选择空web应用程序
添加完成之后需要右键点击刚刚添加的空网站点击添加服务
添加服务后打开该服务增加WebMethod标记为公开方法
这里我还添加了一个ajax测试方法
就此编辑阶段完成,这里添加一下源码:
namespace webserviceTest { /// <summary> /// webserviceone 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] //继承于webservice,该基类提供基本通信参数 public class webserviceone : System.Web.Services.WebService { //若不添加该标记此方法将无法访问 [WebMethod] public string HelloWorld() { return "Hello World"; } //可访问webservice方法 //Description 方法概述 [WebMethod(Description ="测试方法1")] public string Addstring(string a, string b) { return string.Format(a + b); } //不可访问方法 public string Substring(string a, string b) { return string.Format(a +"-"+ b); } } /// <summary> /// 仅仅用作练习,允许ajax调用 /// </summary> [System.Web.Script.Services.ScriptService] public class webservicetwo : System.Web.Services.WebService { [WebMethod] public string Ajaxstring() { return "Hello AJAX"; } } }
右键点击该页面 选择在浏览器中查看就可以看到该方法:
访问成功之后开始部署该服务到服务器,当前是部署到了我本机
注意,进入发布之后选择发布类型时候选择文件夹 或者 自定义模式
选择之后需要配置该服务位置以及方式如图:
配置成功之后选择发布,注意看一下生成结果:
发布成功后就可以配置iis服务器啦,我本机为IIS6服务 成功安装iis信息服务器之后 按下win+r 键 召唤运行 输入inetmgr
iis信息服务器配置页面出现 如下图:
点击确定后该服务就发布出去啦访问该服务地址后会出现各种报错,下面是总结报错:
该问题是因为默认文档未设置,解决方式有两部,首先不仅要去配置默认文档,还要添加一下该文件扩展名信息:
默认文档设置:
请求筛选:
该文件扩展名为webservice文件扩展名。.asmx这里注意是有点的
有时候也会出现权限问题等等需要在网站设置一下:
设置该权限之后问题解决,就可以成功访问该webservice啦
当然还有很多其他错误这里就不一一介绍了