位置:海鸟网 > IT > ASP.NET >

手把手教你学Web Services 教程

Web Services可以将应用程序转换为网络应用程序。

通过使用Web Services,您的应用程序可以向全世界发布信息,或提供某项功能。

Web Services可以被其他应用程序使用。

通过Web Services,您的会计部门的Win 2k服务器可以与IT供应商的UXIX服务器相连接。

基本的Web Services平台是XML+HTTP。

Web services使用XML来编解码数据,并使用SOAP来传输数据。

学习如何经由ASP.NET应用程序创建Web Services。

本教程将一个ASP.NET程序转换为一个Web Services。

Web Services 简介

Web Services可使您的应用程序成为Web应用程序。

Web Services被通过Web进行发布、查找和使用。

您应当具备的基础知识

在继续学习之前,您需要对下面的知识有基本的了解:

  • HTML
  • XML
  • 什么是Web Services?
  • Web Services是应用程序组件
  • Web Services使用开放协议进行通信
  • Web Services是独立的(self-contained)并可自我描述
  • Web Services可通过使用UDDI来发现
  • Web Services可被其他应用程序使用
  • XML是Web Services的基础
  • 它如何工作?

    基础的Web Services平台是XML + HTTP。

    HTTP协议是最常用的因特网协议。

    XML提供了一种可被用于不同的平台和编程语言之间的语言。

    Web services平台的元素:
  • SOAP (简易对象访问协议)
  • UDDI (通用描述、发现及整合)
  • WSDL (Web services描述语言)
  • 我们会在本教程后面章节讲解这些主题。

    Web services的未来

    请不要过早地期待太多!

    Web services平台是简单的可共同操作的消息收发框架。它仍然缺少许多诸如安全和路由等重要的特性。但是,一旦SOAP变得更加高级,这些事项就会得到解决。

    Web services有望使应用程序更加容易通信。

    Why Web Services?

    几年前,Web services的速度还没有快到让人们产生兴趣的程度。

    感谢主要的IT开发商近年来的努力,大多数的人们和企业拥有了宽带连接,并越来越多地使用Web。

    最重要的事情是协同工作

    由于所有主要的平台均可通过Web浏览器来访问Web,不同的平台可以借此进行交互。为了让这些平台协同工作,Web应用程序被开发了出来。

    Web应用程序是运行在Web上的简易应用程序。它们围绕Web浏览器标准被进行构建,几乎可被任何平台之上的任何浏览器来使用。

    Web services把Web应用程序提升到了另外一个层面

    通过使用Web services,您的应用程序可向全世界发布功能或消息。

    Web services使用XML来编解码数据,并使用SOAP借由开放的协议来传输数据。

    通过Web services,您的会计部门的Win 2k服务器可与IT供应商的UNIX服务器进行连接。

    Web services有两种类型的应用可重复使用的应用程序组件

    有一些功能是不同的应用程序常常会用到的。那么为什么要周而复始地开发它们呢?

    Web services可以把应用程序组件作为服务来提供,比如汇率转换、天气预报或者甚至是语言翻译等等。

    比较理想的情况是,每种应用程序组件只有一个最优秀的版本,这样任何人都可以在其应用程序中使用它。

    连接现有的软件

    通过为不同的应用程序提供一种链接其数据的途径,Web services有助于解决协同工作的问题。

    通过使用Web services,您可以在不同的应用和不同的平台之间来交换数据。

    Web Services 平台元素

    Web Services拥有三种基本的元素。

    它们是:SOAP、WSDL以及UDDI。

    什么是SOAP?

    基本的Web services平台是XML + HTTP。

  • SOAP指简易对象访问协议
  • SOAP是一种通信协议
  • SOAP用于应用程序之间的通信
  • SOAP是一种用于发送消息的格式
  • SOAP被设计用来通过因特网进行通信
  • SOAP独立于平台
  • SOAP独立于语言
  • SOAP基于XML
  • SOAP很简单并可扩展
  • SOAP运许您绕过防火墙
  • SOAP将被作为W3C标准来发展
  • 什么是WSDL?

    WSDL是基于XML的用于描述Web Services以及如何访问Web Services的语言。

  • WSDL指网络服务描述语言
  • WSDL使用XML编写
  • WSDL是一种XML文档
  • WSDL用于描述网络服务
  • WSDL也可用于定位网络服务
  • WSDL还不是W3C标准
  • 什么是UDDI?

    UDDI是一种目录服务,通过它,企业可注册并搜索Web services。

  • UDDI指通用的描述、发现以及整合(Universal Description, Discovery and Integration)。
  • UDDI是一种用于存储有关web services的信息的目录。
  • UDDI是一种由WSDL描述的网络服务接口目录。
  • UDDI经由SOAP进行通迅。
  • UDDI被构建于Microsoft .NET平台之中。
  • Web Service 实例

    任何应用程序都可拥有Web Service组件。

    Web Services的创建与编程语言的种类无关。

    一个实例:ASP.NET Web Service

    在这个例子中,我们会使用ASP.NET来创建一个简单的Web Service。

    <%@ WebService Language="VB" %>Imports SystemImports System.Web.ServicesPublic Class TempConvert :Inherits WebService<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As Int16) As Int16 Dim celsius As Int16 celsius = ((((Fahrenheit) - 32) / 9) * 5) Return celsiusEnd Function<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As Int16) As Int16 Dim fahrenheit As Int16 fahrenheit = ((((Celsius) * 9) / 5) + 32) Return fahrenheitEnd FunctionEnd Class

    此文档是一个.asmx文件。这是用于XML Web Services的ASP.NET文件扩展名。

    要运行这个例子,我们需要一个.NET服务器

    此文档中第一行表明这是一个Web Service,由VB编写,其class名称是"TempConvert"。

    <%@ WebService Language="VB" %>

    接下来的代码行从.NET框架导入了命名空间"System.Web.Services"。

    Imports SystemImports System.Web.Services

    下面这一行定义"TempConvert"类是一个WebSerivce类:

    Public Class TempConvert :Inherits WebService

    接下来的步骤是基础的VB编程。此应用程序有两个函数。一个把华氏度转换为摄氏度,而另一个把摄氏度转换为华氏度。

    与普通的应用程序唯一的不同是,此函数被定义为"WebMethod"。

    请在您希望其成为web services的应用程序中使用"WebMethod"来标记函数。

    <WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As Int16) As Int16 Dim celsius As Int16 celsius = ((((Fahrenheit) - 32) / 9) * 5) Return celsiusEnd Function<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As Int16) As Int16 Dim fahrenheit As Int16 fahrenheit = ((((Celsius) * 9) / 5) + 32) Return fahrenheitEnd Function

    最后要做的事情是终止函数和类:

    End FunctionEnd Class

    假如您把此文件另存为.asmx文件,并发布于支持.NET的服务器上,那么您就拥有了第一个可工作的Web Service。

    ASP.NET 的自动化处理

    通过ASP.NET,你不必亲自编写WSDL和SOAP文档。

    如果您仔细研究我们的这个例子,您会发现ASP.NET会自动创建WSDL和SOAP请求。

    Web Service 使用

    您可以把web service置于您的站点上

    您可以使用这些代码把web service放置在您的站点上:

    <form target="_blank" action='http://www.w3schools.com/webservices/tempconvert.asmx/FahrenheitToCelsius' method="POST"> <label>华氏度转换为摄氏度:</label> <p> <span> <input type="text" size="30"> </span> <span> <input type="submit" value="提交"> </span> </p></form><form target="_blank" action='http://www.webjx.com/webservices/tempconvert.asmx/CelsiusToFahrenheit' method="POST"> <label>摄氏度转换为华氏度:</label> <p> <span> <input type="text" size="30"> </span> <span> <input type="submit" value="提交"> </span> </p></form>已经学习了Web Services,下一步学习什么内容呢? Web Services 概要

    本教程已经向您讲解了如何把应用程序转换为网络应用程序.

    您已经学习了如何使用XML在应用程序间发送消息。

    您也学习了如何从应用程序导出某项功能(创建一个web service)。

    您已经学习了Web Services,下一步呢?

    下一步您应当学习WSDL和SOAP。

    WSDL

    WSDL是基于XML的用来描述Web services以及如何访问它们的一种语言。

    WSDL可描述web service,连同用于web service的消息格式和协议的细节。

    SOAP

    SOAP是一种使应用程序有能力通过HTTP交互信息的基于XML的简易协议。

    或者可以更简单地说:SOAP是一种用于访问web service的协议。