VB6中如何使用C#开发的WebService进行开发

摘要:
然而,现有的权限管理系统是使用C#开发的,它提供了WebService的权限访问接口,开发项目是使用VB6开发的;这两个人能互相交流吗?如果是,我们如何在VB6中获取WebService中的信息?Familyid=4922060F-002A-4F5B-AF74-978F2CD6C798&displaylang=en-NET与使用WebServcie一样方便。真的很酷。在VBA中添加WebService引用的对话框生成的代码如下所示,其中包括与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

免责声明:文章转载自《VB6中如何使用C#开发的WebService进行开发》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇@ConditionalOnProperty的用法CSS3实现3D地球自转行星公转下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

自定义Mybatis Plus代码生成器(增加Vo类的生成)

最近有在学习使用mybatis plus,了解到使用mp代码生成器可以方便快捷的生成代码,为了适用于自己开发需要,自定义了一个mp的代码生成器,增加了几个小功能: 1.增加了Vo类的生成,其实思路很简单,利用生成的entity实体类,复制一份,替换掉其中的几个关键字就可以了。 2.可以根据表名,根据参数判断是否去掉前缀,然后根据剩余部分自动生成包名,在批量...

JPA学习(二、JPA_基本注解)

框架学习之JPA(二)JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。 学习...

MyBatis_2

目录 使用接口结合xml文件 数据库表与实体类创建 Users的操作类 Users映射文件 测试 解决字段与属性不匹配(以Order表为例) 数据库表与实体类创建 通过给查询字段起别名,要求别名与属性名一致 使用resultMap标签来定义实体类与字段之间的关系 实现链表查询【根据班级ID查询班级信息(带有老师信息)】 数据库表与实体类...

权限管理 (一) 设计思路分析和实现授权、认证

权限的认识 说起对权限的理解可以说是从肤浅到了解,现在也只是处在了解的水平,先来看这样一个通俗且真实的故事:我们都知道在有体制的公司或者机关单位,给人的体制化特别突出,通俗的说就是官大一级压死人,上级的权利往往要比下面人大,有什么事情了需要经过上级审批、同意才能够执行,这也是一种法律程序,很多事情都需要走法律流程。 你没有在领导的位置上有些事情你说了就...

接口调用帮助类(http调接口、WebService动态调接口)

1.HttpGetPost调用接口实现 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Net; 6 using System.IO; 7 8 namespace He...

ssm+mybatis无法给带有下划线属性赋值问题,无法获取数据库带下划线的字段值

1、配置问题 <!-- 是否开启自动驼峰命名规则(camel case)映射, --> <setting name="mapUnderscoreToCamelCase" value="true"/> 或者 //开启驼峰映射 bean.getObject().getConfiguration().setMapUnderscore...