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
一样方便,真是很爽。





































Snap1.jpg

Office XP Web Services Toolkit 2.0
安装界面

安装完
Office XP Web Services Toolkit 2.0
之后,打开你的
Office2003
套件中任一个,按快捷键(
Alt + F11
)或者菜单【工具】【宏】【
VisualBasic
编辑器】菜单进入,如下所示:

Snap2.jpg
进入

VBA

Office
工具菜单

在弹出的
VBA
程序窗口中,选择【工具】【
Web
引用】的菜单项,如下所示。

Snap3.jpg


在弹出的对话框中选择“
Web
服务
URL
”项,输入
WebService

URL
,如:
http://localhost/HWSecurity/WebServices/Security.asmx
,点击搜索,则在对话框的右上角列出
WebService
的方法,选择所有的方法,单击按钮“添加”即可在
VBA
代码中加入了
WebService
的代理类等相应的代码,如下所示。

Snap5.jpg

VBA

中添加
WebService
引用的对话框

生成的代码如下所示,其中包含了
WebService
对应的代理类和相关的实体类,还有一个工厂类。

Snap6.jpg
WebService

生成的
VBA
代理类、实体类等代码文件

2.2.

如何使用
VBA

生成的代理类和实体类等

在代码文件上使用右键菜单导出生成的代码文件,加入你的
VB6
工程文件中,如下所示。

Snap7.jpg

导出

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
),如图所示:

Snap8.jpg
在代码中使用

WebService
的代理类的时候,会有智能提示的,使用起来非常方便,如下所示,足以看到在代码使用
WebService
代理类获取数据是多么的方便。

Snap9.jpg
使用

WebService
代理类获取返回字符串方法和实体类数组代码示例如下所示。

Snap10.jpg

标签: none

添加新评论