asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET创建XML Web服务全接触


发布日期:2023年01月18日
 
ASP.NET创建XML Web服务全接触

XML Web服务描述

XML Web服务基础结构创建在使用遵循一个公布的服务描述的基于XML的消息的通信的基础上服务描述是一个使用WSDL语言的XML语法编写的XML文档定义了XML Web服务能理解的XML Web服务消息格式服务描述起一个协定的作用用来定义一个XML Web服务的行为并且指示潜在的客户如何与之交互XML Web服务的行为取决于服务定义和支持的消息类型这些模式在概念上指示了服务使用者在相应格式的消息被发送到XML Web服务时可以期待什么

例如与远程过程调用(RPC)风格的服务关联的请求/响应模式将定义哪个SOAP消息模式用来调用一个特定的方法这个模式还将定义响应SOAP消息将遵循的格式

消息模式的另一个例子表示单方面的交互操作这个模式在单向通信发生的时候被使用在这种情况下发送方不会从XML Web服务中接收任何消息包括故障消息 定义SOAP消息格式的模式可以在内部定义来进行实际的服务描述它们也可以在外部定义并被导入服务描述

除了消息格式的定义和消息模式以外服务描述还可选择性的包含每个XML Web服务入口点的地址这个地址的格式对应于用于访问服务的协议例如URL对应于HTTP或者电子邮件地址对应于SMTP(简单邮件传送协议)

更多WSDL规格的信息请看WC Web站点()

XML Web服务连接格式

象DCOM那样的二进制协议由一个去掉专有的通信协议的顶部的方法请求层组成这样的协议对创建普遍可用的XML Web服务没有帮助这么说并不是说阻止你们在XML Web服务方案中使用这样的协议但是使用它们的缺点在于这样的协议依靠它们的底层系统的特定结构因此限制了潜在客户的增加

取而代之你可以构造XML Web服务来协同一个或多个开放协议一起工作就象HTTP和SOAP的综合使用一样象你所料想的那样基础结构要求支持不同的协议

XML Web服务不局限于提供远程过程调用访问它们还可以被构造来交换结构化的信息例如采购订单和发货单并且还可用于自动化和连接内部与外部的业务处理

HTTPGET和HTTPPOST

HTTPGET和HTTPPOST是使用HTTP的标准协议动词用于编码和传送变量名/变量值对参数并且使用相关的请求语义每个HTTPGET和HTTPPOST都由一系列HTTP请求头组成这些请求头定义了客户端从服务器请求了什么而响应则是由一系列HTTP应答头和应答数据组成如果请求成功则返回应答

HTTPGET以使用MIME类型application/xwwwformurlencoded的urlencoded文本的格式传递参数Urlencoding是一种字符编码保证被传送的参数由遵循规范的文本组成例如一个空格的编码是%附加参数还能被认为是一个查询字符串

与HTTPGET类似HTTPPOST参数也是被URL编码的然而变量名/变量值不作为URL的一部分被传送而是放在实际的HTTP请求消息内部被传送

SOAP简介

SOAP是一个简单的重量轻的基于XML的协议用于交换Web上的结构化的和模式化的信息SOAP的总体设计目标是使它保持尽可能的简单并且提供最少的功能这个协议定义了一个不包含应用程序或传输语义的消息框架因此这个协议是模块化的并且非常利于扩展

通过越过标准传输协议SOAP能利用因特网现有的开放体系结构并且能够被任何支持最基本的因特网标准的系统所接受通过越过标准传输协议SOAP能利用因特网现有的开放体系结构并且能够被任何支持最基本的因特网标准的系统所接受你可以看到基础结构要求支持一个虽然简单但是功能强大的遵从SOAP的XML Web服务因为它基本不向现有的因特网基础结构中添加新的内容然而却有助于访问SOAP构造的服务

SOAP协议规范由四个主要的部分组成第一部分定义了一个强制的可扩展信封(envelope)用于封装数据SOAP信封定义了一条SOAP消息和在SOAP信息处理器之间交换的基本单元

这是这个规格唯一的强制性的部分

SOAP协议规范的第二部分定义了可选数据编码规则用于表示应用程序定义的数据类型和直接图表以及一个用于序列化非语法数据模型的统一模型

第三部分定义了一个远程过程调用风格(请求/响应)信息交换的模式每个SOAP消息都是单向传输虽然SOAP的根源于RPC但是它不局限于请求/响应机制XML Web服务经常联合SOAP消息来实现这样的模式但是SOAP并不必须使用信息交换模式并且规格的这个部分是可选的

这个规格的第四部分定义了SOAP和HTTP之间的绑定然而这个部分还是可选的你可以让SOAP和任何转送协议或机制一起协同使用这些传送协议能够传送SOAP信封包括SMTPFTP甚至一个软盘

上一篇:用脚本解决ASP.NET页面刷新问题

下一篇:FCKeditor 2.6在ASP.NET中的配置方法