VB6中如何使用C#开发的WebService进行开发
VB6中如何使用C#开发的WebService进行开发
1. 问题描述
在项目开发过程中,我们需要集成已有的权限管理系统,作为它本身的权限控制的模块。但是已有的权限管理系统是采用C#开发的,提供了WebService的权限访问接口,而开发项目是使用VB6开发的;两者可以互相沟通么?如果可以,如何才能实行在VB6中获取WebService中的信息呢?
2. 解决方法
2.1. 使用Microsoft Office XP Web Services Toolkit 2.0创建代理类
Microsoft Office XP Web Services Toolkit 2.0(下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=4922060F-002A-4F5B-AF74-978F2CD6C798&displaylang=en ),该工具提供给开发者在VBA中快速访问和使用WebService的功能,使用几乎和在VS.NET中使用WebServcie一样方便,真是很爽。
Office XP Web Services Toolkit 2.0安装界面
安装完Office XP Web Services Toolkit 2.0之后,打开你的Office2003套件中任一个,按快捷键(Alt + F11)或者菜单【工具】【宏】【VisualBasic编辑器】菜单进入,如下所示:
进入VBA的Office工具菜单
在弹出的VBA程序窗口中,选择【工具】【Web引用】的菜单项,如下所示。
在弹出的对话框中选择“Web服务URL”项,输入WebService的URL,如:http://localhost/HWSecurity/WebServices/Security.asmx ,点击搜索,则在对话框的右上角列出WebService的方法,选择所有的方法,单击按钮“添加”即可在VBA代码中加入了WebService的代理类等相应的代码,如下所示。
VBA中添加WebService引用的对话框
生成的代码如下所示,其中包含了WebService对应的代理类和相关的实体类,还有一个工厂类。
WebService生成的VBA代理类、实体类等代码文件
2.2. 如何使用VBA生成的代理类和实体类等
在代码文件上使用右键菜单导出生成的代码文件,加入你的VB6工程文件中,如下所示。
导出VBA代码文件
在VB6工程的引用中加入MSSOAP30.DLL和MSXML3.DLL这两个引用的DLL(请先安装SOAP Toolkit 3.0,地址:http://www.microsoft.com/downloads/details.aspx?familyid=c943c0dd-ceec-4088-9753-86f052ec8450&displaylang=en ),如图所示:
在代码中使用WebService的代理类的时候,会有智能提示的,使用起来非常方便,如下所示,足以看到在代码使用WebService代理类获取数据是多么的方便。
使用WebService代理类获取返回字符串方法和实体类数组代码示例如下所示。
转载请注明出处:撰写人:伍华聪 http://www.iqidi.com