需要具备
须知
SOAP规范(当前版本为1.1)仍然是一个处于提议状态的标准并且有可能发生变化。本文所提供的示例代码使用了当前处于提议状态的SOAP规范,在SOAP规范发生修改和变化时,本文中所提供的示例代码可能需要修改。
该示例代码使用了SDL(Services Description Language,服务描述语言)来定义Web Services,而SDL即将(有望在2001年的上半年)被最新的WSDL规范(Web Services Description Language,Web服务描述语言)所替代。本文中所提供的示例代码不能同使用WSDL规范的Web Services配合工作。
支持ADO(Microsoft ActiveX Data Objects)Recordset(我使用的是2.6版本)的XML格式可能会发生修改和变化,在XML格式发生变化时,本文提供的示例代码也可能需要相应修改。
支持的语言
英语
数据和Web Services
正如我在由我撰写的另一篇循序渐进文章“为Microsoft .NET做好准备”中所介绍的一样,您可以在当前SOAP规范的基础之上,使用Web Services为Pocket PC开发程序。
大多数的商业应用程序都需要在服务器和客户机应用程序之间传输数据。在一个传统的Microsoft Web解决方案平台(以前被称作Microsoft Windows DNA)中,一般使用ADO Recordset(ADO记录集)对象进行数据传输。因为它使用了一种特殊类型的“编组”(对象传输),它无需持有服务器上的任何“状态”(资源)即可被传输到客户端上。有鉴于此,很多现有系统中的组件都采用了这种实现方式,以ADO Recordsets形式返回数据。
如果我们又想利用在这些组件上的先前投资,又想获得应用程序同Web Services集成所带来的诸多益处,我们就需要找到一种通过SOAP传输这些ADO Recordsets的方法。在Chris Dengler所撰写的“利用SOAP消息返回ADO Recordset”这篇出色文章中,您可以为在个人计算机上使用Web Services找到一种解决方法。
但是,该解决方案不能被照搬到Pocket PC上,因为ADOCE(ActiveX Data Objects for CE)的实现方式同ADO有所不同。最重要的差别之处在于:ADOCE当前(3.1版)不支持持续性。特别是对于XML(扩展标记语言)格式。另一个不同之处在于:ADOCE不支持我前面所提到过的记录集编组。因此,它不能为动态创建“连接断开”(没有到数据源的活动连接)状态下的记录集提供支持。
关注此文的读者还看过: