XML Web services 生存期分析
本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.
调用 XML Web services 时的过程与进行常规方法调用时的过程类似。二者的主要区别在于,前者并不调用位于客户端应用程序中的方法,而是通过指定的传输(例如 HTTP)生成请求消息。由于 XML Web services 方法可能位于不同的计算机上,因此必须将 XML Web services 处理请求所需的信息通过网络传递给承载 XML Web services 的服务器。XML Web services 在处理完信息后,会通过网络将结果发送回客户端应用程序。
下面的插图显示了客户端与 XML Web services 之间的通信过程。
XML Web services 生存期
下面介绍调用 XML Web services 时的事件发生顺序:
客户端为 XML Web services 代理类创建一个新实例。此对象驻留在客户端计算机上。
客户端调用代理类上的方法。
客户端计算机上的基础结构将 XML Web services 方法的参数序列化为 SOAP 消息,然后通过网络将其发送给 XML Web services。
基础结构接收 SOAP 消息并反序列化 XML。它会创建实现 XML Web services 的类的实例,同时调用 XML Web services 方法并传入反序列化后的 XML 作为参数。
XML Web services 方法将执行其代码,并最终设置返回值和所有输出参数。
Web 服务器上的基础结构会将返回值和输出参数序列化为 SOAP 消息,然后通过网络将其发送回客户端。
客户端计算机上的 XML Web services 基础结构将接收 SOAP 消息,然后将 XML 反序列化为返回值和任何输出参数,并将它们传递给代理类的实例。
客户端接收返回值和所有输出参数。
生成 XML Web services
创建 XML Web services 与创建可提供对其应用程序逻辑的编程访问的任何组件类似。若要创建 XML Web services,需要生成下列内容:一些构成要公开的服务的功能、定义如何使用服务的服务说明,以及支持接收和处理请求及发送响应的基础结构。幸运的是,我们已为您提供了所需的大部分基础结构。
生成 XML Web services 客户端
XML Web services 可通过 URL、HTTP 和 XML 进行访问,这意味着,在任何平台上以任何语言运行的程序都可以访问 XML Web services。由于 XML Web services 具有分散式的特点,以致客户端和 XML Web services 都可以作为独立的单元运行,因此 XML Web services 存在无数的使用方法。例如,对 XML Web services 的调用可以包括在 Web 应用程序、中间件组件甚至其他 XML Web services 中。无论 XML Web services 客户端采用何种形式,若要调用 XML Web services,只需发送格式正确且符合该 XML Web services 已发布的服务说明的请求消息。根据 XML Web services 的性质,它可能会发送回一条响应消息。请求的发出方随后必须能够从此消息中提取必要的信息。