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

Snap1.jpg

Office XP Web Services Toolkit 2.0安装界面

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

Snap2.jpg
进入
VBAOffice工具菜单

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

Snap3.jpg


在弹出的对话框中选择“Web服务URL”项,输入WebServiceURL,如: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.DLLMSXML3.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

posted on 2007-01-29 23:09  伍华聪  阅读(9677)  评论(3编辑  收藏  举报

导航