VB6中如何使用C#开发的WebService进行开发
VB6
中如何使用C#开发的WebService
进行开发
http://wuhuacong.com.cn/
)
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
代理类获取返回字符串方法和实体类数组代码示例如下所示。