引子: VB6是一种比较早的高级语言,但可以说在它那个时代非常流行,本人就遇到不少项目用该语言进行开发,但随着Java, .net等其它新语言的发展,VB6已经渐渐淡出了,但不少其开发的项目却被保留了下来。目前遇到的一个困扰就是这样的系统如何解决与新语言开发的系统的数据交互问题。本文就先抛一个话题,VB6实现基于HTTP Web调用来解决与基于B/S架构的应用程序间的调用(示例使用Java开发)。
一、整体方案介绍
说明: VB客户端使用msxml.dll组件,创建XMLHTTP对象,通过该对象以HTTP方式访问WebServer请求,提交数据并取得返回的数据结果
二、如何使用MSXML组件进行开发
a)
MSXML组件引入项目
MSXML组件引入项目比较简单,方法如下图所示:
注:建议使用MSXML v6.0版本,如果本地没有可上官网上下载。
客户端代码编写
1 Dim xmlhttp As XMLHTTP60
2 Set xmlhttp = New XMLHTTP60
3
4 Dim url As String
5 url = “http://localhost:8080/simplewebapps/jsp/test.jsp”
6 Dim postData As String
7 postData = “<data><value>post data提交数据</value></data>”
8
9 xmlhttp.open "POST", url, False
10 xmlhttp.setRequestHeader "User-Agent", "MyCustomUser"
11
12 If IsNull(postData) Then
13 xmlhttp.send
14 Else
15 xmlhttp.send postData
16 End If
17
18 Dim responseText AS String
19 ‘解析返回的xml数据格式
20 responseText = xmlhttp.responseText
21
22 Set xmlhttp = Nothing
23
服务器代码编写(Jsp示例)
1 <%
2 //取得提交的参数
3 String postData = “”;
4 String str;
5 While ( (str = request.getReader().readLine()) != null) {
6 postData += str;
7 }
8
9 //deal post data and response back data as XML format
10 out.println(“<root> <Node1>”+postData +” </Node1> </root>”);
11 %>
12
参考资料
MSDN
MSXML SDK http://msdn.microsoft.com/en-us/library/ms759148(VS.85).aspx
MSXML6.0 下载链接
http://www.microsoft.com/downloads/details.aspx?familyid=993C0BCF-3BCF-4009-BE21-27E85E1857B1&displaylang=en
本文只是抛砖引玉,如果大家更好意见和建议,欢迎大家提出来分享。
本文示例下载
Good Luck!
Yours Matthew!
posted on 2008-08-19 08:50
x.matthew 阅读(5600)
评论(1) 编辑 收藏 所属分类:
其它