C#应用程序设计教程 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 耿肇英 耿燚 第13章Web服务

上传人:E**** 文档编号:89344790 上传时间:2019-05-23 格式:PPT 页数:22 大小:285.50KB
返回 下载 相关 举报
C#应用程序设计教程 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  耿肇英 耿燚 第13章Web服务_第1页
第1页 / 共22页
C#应用程序设计教程 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  耿肇英 耿燚 第13章Web服务_第2页
第2页 / 共22页
C#应用程序设计教程 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  耿肇英 耿燚 第13章Web服务_第3页
第3页 / 共22页
C#应用程序设计教程 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  耿肇英 耿燚 第13章Web服务_第4页
第4页 / 共22页
C#应用程序设计教程 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  耿肇英 耿燚 第13章Web服务_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C#应用程序设计教程 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 耿肇英 耿燚 第13章Web服务》由会员分享,可在线阅读,更多相关《C#应用程序设计教程 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 耿肇英 耿燚 第13章Web服务(22页珍藏版)》请在金锄头文库上搜索。

1、第13章 Web服务,13.1 Web服务的概念和用途 13.2 建立Web服务 13.3 基于.Net的Web服务客户端程序 13.4 使用Web服务的例子,Micosoft.Net平台架构中的分布式系统主要包括两部分:用ASP.Net技术构建服务器端动态网页,以及Web服务(Web Service或XML Web Service)。前边章节已详细介绍了构建服务器端动态网页的方法,本章将介绍Web服务的基本概念和构建方法。,13.1 Web服务的概念和用途,应用程序集成 代码复用 工作流程解决方案 新的销售方式 由Web服务组成的自动化系统,13.2 建立Web服务,Web服务采用客户/服务

2、器模式。本节介绍服务器端应做的工作,包括建立供客户端调用的Web服务方法,以及为了客户端使用Web服务方法,提供给客户端描述该Web服务的WSDL文档。,13.2.1 用记事本建立Web服务, using System; using System.Web.Services; WebService(Namespace=“http:/202.206.96.204/“) public class MyClass:WebService WebMethod /注意形参的名称将在图13.2中出现 public int MyWebMethod (int a,int b) return a+b; /在该方法后

3、还可以定义其他WebMethod ,13.2.2 用VS2005建立Web服务,【例13.2】如果使用VS2005建立这个Web服务文件,具体步骤如下: 单击VS2005菜单的“文件(F)|新建网站(W)“菜单项,打开“新建网站“对话框(图9.10),在对话框中,选中“ASP.NET Web服务“,在“位置(L)“编辑框中,选择“文件系统“,“语言(G)“编辑框选择C#语言。单击“浏览“按钮,选择存放Web服务的位置,单击确定按钮,生成一个Web服务文件Service.asmx,修改名称为“e13_2_2.asmx“,该文件只有一句话指示代码在文件Service.cs中,Service.cs文

4、件如下:,using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; WebService(Namespace = “http:/tempuri.org/“) WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) public class Service : System.Web.Services.WebService public Service () /如果使用设计的组件,请取消注释以下行 /I

5、nitializeComponent(); WebMethod public string HelloWorld() return “Hello World“; ,2.用语句WebService(Namespace= “http:/202.206.96.204/”)替换语句WebService (Namespace = “http:/tempuri.org/”),目的是在访问时不出现建议提示。 3. 文件中已有一个Web服务方法HelloWorld,用下面的Web服务方法MyWebMethod替换HelloWorld方法: public int MyWebMethod(int a,int b)

6、 return a+b; 4.现在用IE浏览器测试这个Web服务,按F5运行,将显示类似图13.3的界面(类名不同),单击MyWebMethod,浏览器中显示如图13.2。在编辑框中输入两个加数分别为10和20,然后单击“调用“按钮,打开另一浏览器窗口如图13.4,这是用XML表示的调用Web服务方法MyWebMethod返回的结果。,13.2.3 服务描述语言(WSDL),WSDL(Web Services Description Language)中文名称为Web服务描述语言,用来对Web服务进行说明。WSDL是基于XML的,用WSDL生成一个XML文档,可以提供关于Web服务的操作信息,

7、例如,抽象形式的服务接口信息、数据传输的具体访问协议和格式、供客户端使用该Web服务的细节等等。服务描述是一个使用WSDL语言的XML文档,定义了Web服务能理解的Web服务消息格式。服务描述起一个协定的作用,用来定义一个Web服务的行为并且指示潜在的客户如何与之交互。,13.3 基于.Net的Web服务客户端程序,Web服务客户端程序用来调用服务器端的Web服务方法,用浏览器调用Web服务方法,只能算做一种测试,通过这种测试,可以验证Web服务方法的正确性,发现错误。作为客户端程序,无论在何处,采用那种操作系统,希望只要知道Web服务的所在网址,就可以调用远程Web服务方法。Web服务客户端

8、程序一般应在Web网上的另一台计算机中,仅仅做实验或学习,也可以和Web服务在同一台计算机中。本节介绍如何实现基于.Net的Web服务客户端程序。,13.3.1 调用Web服务方法采用的协议,客户端可用HTTP-GET、HTTP-POST或SOAP协议调用Web服务方法。HTTP-GET和HTTP-POST协议是Web网页传递参数的标准协议,使用这两种协议调用Web服务方法只能采用变量名/变量值对传递参数,无法传递象DataSet、二进制文件等数据类型,为了传递复杂数据类型,应采用SOAP协议。SOAP(Simple Object Access Protocol,简单对象访问协议)是基于XML

9、的消息传递协议,由于是基于XML,保证了不同系统的不同程序或组件之间,只要支持SOAP,都可以互相通信。如使用SOAP协议调用e13_2_1.asmx 中的Web服务方法,必须对调用的Web服务方法和方法参数用SOAP协议封装,实现比较复杂,.Net系统一般采用创建代理类的方法,下节将详细介绍创建代理类的步骤。,13.3.2 VS2005建立Web服务客户端程序,Web服务客户端程序用SOAP协议调用远程的Web服务方法,Web服务客户端程序必须把程序的调用及其参数用SOAP协议封装,传送给Web服务。调用Web服务方法后,Web服务方法用SOAP协议返回用XML表示的结果,因此需要对用SOA

10、P协议封装的XML文档进行解析,得到指定类型的数据。.Net系统采用创建代理类的方法实现这一目的。所谓代理,就是在客户端生成本地对象,作为远程Web服务方法的前端,该代理的功能是,Web服务客户端程序用一般程序语言那样调用Web服务方法,代理程序负责将调用以及调用参数用SOAP协议封装,然后调用Web服务方法,由代理程序负责获得Web服务方法返回的数据,由于这些数据也用SOPA协议封装,也要由代理程序转换为一般程序语言能够理解的数据类型,传送给Web服务客户端程序。,【例13.3】生成Web服务客户端程序具体步骤如下: 1.打开VS2005,新建C#语言windows应用程序项目,项目命为e1

11、3_3,在窗体中增加一个按钮,标题为“调用Web服务”,单击按钮将调用Web服务的Web方法,在窗体中增加2个文本框,用来输入两个加数。用3个Label控件作为提示信息,属性Text分别为:加数a、加数b、和。用一个Label控件显示调用Web服务的Web方法后返回的结果。设计界面如图 2.建立Web服务客户端代理。单击VS2005菜单“项目|添加Web引用“菜单项,弹出标题为“添加Web引用“的对话框如图,3.在对话框中的“URL(U) “栏中输入Web服务的URL,这个Web服务一般应在远程计算机中。本例Web服务和客户端在同一台计算机中,即是在13.2.2节中用VS2005建立的Web服

12、务,其URL为http:/localhost:VS2005 Web集成环境自带的Web服务器端口号/e13_2/e13_2_2.asmx。不能使用例子e13_2_1建立的Web服务,因其不能自动创建WSDL文件。然后单击“URL(U)“栏右侧箭头图标,VS2005自动查找指定URL的WSDL文件。见图13.7。由于VS2005 Web集成环境自带的Web服务器端口号不确定,调试很不方便,有时还出错,最好使用IIS服务器。,4.单击标题为“添加引用”的按钮,在解决方案资源管理器中,可以看到一个新的“Web References”。见图13.8。引用Service采用如下格式:localhost.

13、Service。请注意,如果Web服务器IP地址或端口号改变,这个引用必须重新建立。 5. 为按钮增加事件函数如下,注意引用Service的方法。 private void button1_Click (object sender, EventArgs e) int x, y; x = Convert.ToInt16(textBox1.Text); y = Convert.ToInt16(textBox2.Text); localhost.Service ws=new localhost.Service(); label3.Text=ws.MyWebMethod(x, y).ToString(); ,6.按F5,运行,输入2个加数,单击标题为“调用Web服务“按钮,显示两个加数的和。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号