PB6.5调用Web Service的步骤详解

需积分: 9 15 下载量 95 浏览量 更新于2024-09-14 2 收藏 1KB TXT 举报
在本文档中,主要讨论了如何使用Progress Base (PB) 6.5版本来调用Web Service的方法。随着企业应用集成的需求增加,PB作为一款老牌的4GL开发工具,也需适应这种趋势,尤其是在处理与外部系统的交互时。本文提供了一个实用的步骤指南,帮助PB开发者理解和实现Web Service的调用。 首先,对于PB6.5来说,由于其版本较旧,可能不直接支持Web Service Proxy(类似于后来的SOAP或WSDL支持)。因此,文中提到的两种方法是针对PB8.0/9.0及以上版本的解决方案,即通过WebServiceProxy类来处理,而在PB6.5中可能需要采取其他手段。 1. PB6.5中的间接调用:由于PB6.5缺乏对WebServiceProxy的直接支持,开发者可能需要利用其他技术间接调用。这可能涉及到创建一个外部接口,例如使用OLE Object(对象链接嵌入)技术,如MSSOAPLib(Microsoft SOAP Library),这是一种通过COM(Component Object Model)接口来调用Web Service的方式。通过`CREATEOLEObject`创建MSSOAPLib对象,并连接到`MSSOAP.SoapClient`,然后初始化连接并设置WSDL地址。 2. SOAP Client的使用:文章提到了两种SOAP Client的实现方式: - OLE方式:通过MSSOAPLib的`SoapClient`类,这个方法要求共享PowerBuilder的`pbsoapclient90.pbd`库,且PB版本必须与之兼容。这种方式适合PB和.NET环境的集成,因为MSSOAPLib利用.NET的SOAP支持。 - 非OLE方式:另一种可能是使用`MSSOAPLib.SoapClient`,但这个方法可能需要额外的微软SOAP Toolkit SDK(如`microsoftsoaptoolkitsoapsdk.exe`),并且提到Sina的SMS Web Service的示例可能无法直接在PB6.5中运行,可能需要适配或修改。 3. 示例代码:文章还提供了具体的代码片段,展示了如何构造XML消息并发送到指定的Sina SMS Web Service。开发者需要提供用户身份(sle_userid、sle_passwd)、手机号(sle_mobileno)和短信内容(mle_content),并将这些值封装到请求中。 总结来说,虽然PB6.5本身可能不直接支持Web Service,但通过借助其他技术和工具(如MSSOAPLib和特定版本的PowerBuilder库),可以实现对Web Service的间接调用。对于使用PB6.5的开发者来说,了解这些技巧和适配策略是至关重要的,以确保与现代API的交互能力。