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代理類獲取返回字符串方法和實體類數組代碼示例如下所示。
posted on 2010-11-04 16:46 aiaiwoo 閱讀(787) 評論(1) 編輯 收藏 所屬分類: ASP/Visual Basic