教程-XML Web Service.ppt

上传人:peixunshi 文档编号:14854837 上传时间:2022-02-21 格式:PPT 页数:21 大小:167KB
返回 下载 相关 举报
教程-XML Web Service.ppt_第1页
第1页 / 共21页
教程-XML Web Service.ppt_第2页
第2页 / 共21页
教程-XML Web Service.ppt_第3页
第3页 / 共21页
教程-XML Web Service.ppt_第4页
第4页 / 共21页
教程-XML Web Service.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《教程-XML Web Service.ppt》由会员分享,可在线阅读,更多相关《教程-XML Web Service.ppt(21页珍藏版)》请在三一文库上搜索。

1、XML Web Service 教程,引言,运行在不同的环境下,大量的组件如何能相互协作?互相使用?复用性.版本如何更新而不需重新编译。各类组件用不同的技术开发,用不同的语言编写,怎样才能理解组件确保正确的组装 .分布式的应用?,1.什么是Web Service,当开发网络应用程序时,需要考虑设计不包含用户界面的用于网络通讯的逻辑组件,有以下几种选择:Socket, DCOM(COM+),.NET远程调用, Web 服务器等.通过Web Service,客户端和服务器能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么,不需要这些要求特定组件技术或对象调用约定,在客户端和服务器之间

2、所做的唯一假设就是接收方可以理解收到的消息。,1.什么是Web Services?,Web Services 是应用程序组件 Web Services 使用开放 HTTP 协议进行通信 Web Services 是独立的(self-contained)并可自我描述 Web Services 可通过使用UDDI来发现 Web Services 可被其他应用程序使用,您的应用程序可向全世界发布功能或消息。XML 是 Web Services 的基础,2. XML Web services 基础结构,目录 发现 UDDI(Universal Description, Discovery and In

3、tegration)它提供 了在Web上描述并发现商业服务的框架。UDDI通过服务注册,以及使用SOAP访问这些注册信息的约定来实现其目标。UDDI 注册使用的核心信息模型由XML Schema 定义 WSDL(Web 服务描述语言) 连网形式 : HTTP,2.1基础结构组件,XML Web services 生存期, 通信过程,2.2 下面描述调用 XML Web services 时发生的事件序列: 客户端创建 XML Web services 代理类的一个新实例。该对象驻留在客户端所在的同一台计算机上。 客户端调用代理类上的方法。 客户端计算机上的基础结构将 XML Web servi

4、ces 方法的参数序列化为 SOAP 消息,并通过网络将它发送给 XML Web services。 基础结构接收 SOAP 消息并反序列化该 XML。它创建实现 XML Web services 的类的实例并调用 XML Web services 方法,同时将反序列化的 XML 作为参数传入。 XML Web services 方法执行其代码,最终会设置返回值和任何输出参数。 Web 服务器上的基础结构将返回值和输出参数序列化为 SOAP 消息,并通过网络将它发送回客户端。 客户端计算机上的 XML Web services 基础结构接收该 SOAP 消息,将 XML 反序列化为返回值和任意

5、输出参数,并将它们传递给代理类的实例。 客户端接收返回值和任何输出参数。,访问 Web Service,3. 1在HTML表单中访问 Web Service3.2. 使用VS.NET访问Web services 方法,3. 1在HTML表单中访问 Web Service,在HTML表单中访问 Web Service 的一种方法是使用IE的行为组件webservice.htc,示例:华氏度摄氏度互相转换。界面如下,华氏度:,摄氏度:,var iCallID=new Array();function init()obody.useService(tempconvert.asmx?WSDL,Temp

6、Convert);function onsubmit1()iCallID0= obody.TempConvert.callService(myCallBackFunction,FahrenheitToCelsius,Fahrenheit.value);function onsubmit2() iCallID1= obody.TempConvert.callService(myCallBackFunction,CelsiusToFahrenheit,Celsius.value);function myCallBackFunction(res)if( res.id=iCallID0 )Celsiu

7、s.value = res.value;else if( res.id=iCallID1 )Fahrenheit.value = res.value;华氏度: onclick=onsubmit1() 摄氏度:,.NET的WebService的扩展名.asmx,3.2. 使用VS.NET访问Web services 方法,1。添加Web引用,生成XML Web services客户端代理类.1)在解决方案资源管理器中打开快捷菜单/添加Web引用 2) 定位 Web 服务的URL 2。在客户端代码中引用该代理类名空间, 创建该代理类的实例 3。调用代理类方法,与XML Web services通信

8、。,同步调用,例PrimeFactorizer pf = new PrimeFactorizer(); /实例化Long results = pf. Factorize(ar); /调用方法获得结果 异步调用 ,例 IAsyncResult ar = pf.BeginFactorize(factorizableNum, null, null); / 等待异步调用完成 ar.AsyncWaitHandle.WaitOne(); / Get 完成结果。 long results = pf.EndFactorize(ar);,4. 使用 ASP.NET 生成 XML Web services,创建

9、ASP.NET Web 服务项目 在“文件”菜单上,选择“新建网站”。在“新建网站”对话框中,选择“ASP.NET Web 服务”图标。输入要在其中开发 XML Web services 的 Web 服务器地址,并指定Web服务名,如“http:/MyServer/TempConvert1”。默认情况下,项目使用本地计算机“http:/localhost”。,实现 XML Web services,例:,System.Web.Services.WebService( Namespace = http:/tempuri.org/, Description=A temperature conver

10、sion service.)public class TempConvert1 : System.Web.Services.WebService /在 Service 类中,添加以下代码以声明 ConvertTemperature 函数: WebMethod(Description=This method converts a temperature in + degrees Fahrenheit to a temperature in degrees Celsius.)public double ConvertTemperature(double dFahrenheit) return (d

11、Fahrenheit - 32) * 5) / 9; ,调试 XML Web services,添加一个断点。 在“调试”菜单上单击“启动” ,将在IE中打开.asmx 文件时,XML Web services 会返回一个服务帮助页.点击你的服务,输入参数,执行停止在断点.执行结果显示xml页,如类似100,部署 XML Web services,使用 Web 安装项目部署 XML Web services通过复制项目来部署 XML Web services,XML Web services 的代码,在ASP.NET 中XML Web services 由两部分组成1。.asmx.cs文件 -

12、 C#代码源文件 2. .asmx 文件示例:一个XML Web services:Service1, .asmx.cs文件,含一个方法:HelloWorldnamespace WebService1 WebService(Namespace = http:/tempuri.org/) public class Service1 : System.Web.Services.WebService WebMethod public string HelloWorld() return Hello World; 示例中使用WebService 特性应用于实现 XML Web services 的类S

13、ervice1,使用WebMethod 特性应用于实现Service1 Web services 的一个方法HelloWorld()。,.asmx 文件它是XML Web services 的可寻址入口点文本文件,它包含WebService 处理指令,引用预编译的程序集中的代码、代码隐藏文件或包含于 .asmx 文件本身的代码。示例:一个XML Web services 的.asmx 文件,System.Web.Services.WebService 类,ASP.NET 创建的 XML Web services 的类从 WebService 类派生,从而获得对公共 ASP.NET 对象(例如

14、Application、Session、User 和 Context)的直接访问。 WebService 特征:每一 XML Web services 都需要唯一的命名空间,以便客户端应用程序在可能使用相同方法名称的 XML Web services 之间进行区分。你它在使其被公共使用之前可修改此默认命名空间。,WebService(Namespace=http:/ Description=A short description of the XML Web service.)public class Service1 : System.Web.Services.WebService,WebM

15、ethod特性 实现 XML Web services类的方法不会自动拥有Web通信的功能,要将方法作为 XML Web services 的一部分公开,您必须将 WebMethod 特性放置在要公开的每个公共方法的声明之前。常用的属性有 description 属性 EnableSession 属性:启用 XML Web services 方法的会话状态。 TransactionOption属性:使 XML Web services 方法可以作为事务的根对象参与。,你的Web services类的方法,public class Service1 : System.Web.Services.W

16、ebService WebMethod(EnableSession=true) public double ConvertTemperature(double dFahrenheit) SessionConversions = (int) SessionConversions + 1; return (dFahrenheit - 32) * 5) / 9; ,5. XML Web services 的安全,身份验证授权 Windows 身份验证 1。使用 IIS 配置 XML Web services 以使用 Windows 身份验证 ,在 IIS 中的 .asmx 文件上为该 XML Web

17、 services 设置权限。 2. 修改配置文件 ,web.config文件以使用 Windows 身份验证。,新建XML Web Service后默认的设置已是“Windows”。,3.身份验证 代码,可使用 WebService User 属性 ,接受用户提供的凭据 public class Util: WebService WebMethod(Description=Obtains the User Name,EnableSession=false) public string GetUserName() return User.Identity.Name; ,客户证书身份验证,“客户

18、证书”提供了一种安全的身份验证机制,这是因为它要求客户端将一个标识该客户端的电子文档使用 SSL 连接发送到 Web 服务器,该电子文档叫做客户证书。为客户证书身份验证配置 XML Web services安装 SSL。 配置 Web 应用程序以接受客户证书。使用ClientCertificates 属性修改配置文件Web.config,为 XML Web services 指定 Windows 身份验证。 使用客户证书传递其凭据到XML Web services ,例,/实例化xml Web services 代理类如BankSessionBankSession bank = new Ban

19、kSession();/ 装客户证书文件X509Certificate x509 = X509Certificate.CreateFromCertFile(c:user.cer);/ 添加客户证书到代理类的ClientCertificates属性bank.ClientCertificates.Add(x509);/ 调用Web services 方法(该方法需要客户证书身份验证)bank.Deposit(500);,XML Web services 的授权,授权的目的是确定是否应该授予某个标识对给定资源请求的访问权限类型。授予对给定资源的访问权限有两种基本的方法:文件授权和 URL 授权。因为权限是在 IIS 中逐个文件设置的,所以只要使用 Windows 身份验证,就可以使用文件授权。URL 授权可以和 ASP.NET 支持的任何内置身份验证机制一起使用。使用 URL 授权,配置是通过配置文件完成的,用户可以有选择地授予或拒绝对与 ASP.NET 关联的任何文件(包括 .asmx 文件)的访问权限。,例在web.config配置文件中: ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1