日期:2012-09-05  浏览次数:20483 次

COM+ Web 服务:通过复选框路由到 XML Web Services
John Noss 和 Jonathan Hawkins
Microsoft Corporation
2001年11月

摘要:COM+ Web 服务新增了某些功能,可与 Microsoft .NET Remoting 集成,并通过 SOAP for COM+ 组件实现 XML Web Services 发布的复选框激活。本文通过几个示例介绍基本的互操作性、配置以及托管和非托管 COM+ 组件(在 Microsoft Windows .NET Server 和 Microsoft Windows XP Professional 上作为 XML Web Services 发布)的部署。

目录
简介
简单的已知对象 (WKO) 示例
简单的客户端激活对象 (CAO) 示例
事务性组件示例
一切才刚刚开始
简介
COM+ Web 服务新增了某些功能,可与 Microsoft .NET Remoting 集成,并通过 SOAP for COM+ 组件实现 XML Web Services 发布的复选框激活。本文通过几个示例介绍基本的互操作性、配置以及托管和非托管 COM+ 组件(在 Microsoft Windows .NET Server 和 Microsoft® Windows® XP Professional 上作为 XML Web Services 发布)的部署。还通过示例介绍了几个新功能,使运行 Windows XP 的客户端能够访问远程服务器上的 XML Web Services。

当开发人员使用 .NET Remoting 和托管代码来完善现有的非托管 COM+ 服务器和客户端代码时,这些功能可以帮助他们利用和简化迁移过程。在 .NET 框架的测试阶段,有许多用户问及如何配置 .NET Remoting 来进行简单的跨计算机激活操作。COM+ Web 服务的解决方案是同时自动配置服务器 (Microsoft Windows .NET Server) 和客户端 (Microsoft Windows XP Professional) 计算机,使用 .NET Remoting 来提供 SOAP 以替代 DCOM。

Microsoft Windows XP 和 Microsoft .NET 框架是本年度发布的两个最重要的软件。二者的目的都是为了简化过程并提高软件开发人员的能力,因此利用这两种产品并发挥各自优势来提供一套集成的、易于使用的解决方案就成为自然之选。COM+ Web 服务提供了一种简单的方法,可以将 COM+ 组件发布为 XML Web Services ;还提供了新的集成功能,用于从客户端计算机访问 XML Web Services。从以下 Microsoft Visual Basic Scripting Edition (VBScript) 示例中可以了解其易于使用的特点,该示例用于确定 Alaska 的 Fairbanks 的当前气温。请在 Windows XP(已安装 .NET 框架)或 Windows .NET Server 上运行此示例:

set SoapObj = GetObject
   ("soap:wsdl=http://www.xmethods.net/sd/TemperatureService.wsdl")
WScript.Echo "Fairbanks 气温 = " & SoapObj.getTemp("99707")

在上面的示例中,服务器是在 Linux 上运行的 Apache SOAP Server,但也可以使用任何具有标准 Web 服务说明语言 (WSDL) 描述功能的 SOAP V1.1 服务器。

注意: 如果出现“未找到服务器”错误,您需要在控制面板的 Internet 选项中手动配置防火墙设置。
使用 SOAP 作为计算机之间通信协议的优点之一,在于它增加了可以交互操作的计算机的种类。.NET Remoting 具有以下两种基本操作模型:

已知对象 (WKO): WKO 是 SOAP V1.1 所支持的最常见的 XML Web Services 模型。它允许与其他运行 SOAP V1.1 兼容堆栈的计算机协同工作。服务器和客户端可以是运行 Apache SOAP 的非 Windows 服务器和运行 pocketSOAP 的 Pocket PC,也可以是基于 Windows 的服务器和客户端。唯一的要求是服务器上必须安装了与 WSDL 1.1 版本兼容的描述功能,以便生成相应的代理。此代理是在运行时生成的,并且第一次使用 WSDL 名字对象时没有用户介入。
客户端激活的对象 (CAO): CAO 提供了更丰富的开发环境,包括稳定持久的连接。较之典型的 XML Web Services 模型,它更类似于 DCOM 模型,但要求在服务器和客户端上都安装有某一版本的 .NET 框架。
COM+ Web 服务可以使用 WKO 和 CAO 两种激活模型,而且所有的服务器应用程序都可以提供 WKO 和 CAO 端点。通过组合使用激活模型、XML Web Services 和 .NET Remoting,开发人员可以轻松地组合和匹配托管及非托管的客户端和服务器。下表所示为两种激活模型所支持方案的示例。