posts - 156,  comments - 601,  trackbacks - 0
          引子: VB6是一種比較早的高級(jí)語(yǔ)言,但可以說(shuō)在它那個(gè)時(shí)代非常流行,本人就遇到不少項(xiàng)目用該語(yǔ)言進(jìn)行開(kāi)發(fā),但隨著Java, .net等其它新語(yǔ)言的發(fā)展,VB6已經(jīng)漸漸淡出了,但不少其開(kāi)發(fā)的項(xiàng)目卻被保留了下來(lái)。目前遇到的一個(gè)困擾就是這樣的系統(tǒng)如何解決與新語(yǔ)言開(kāi)發(fā)的系統(tǒng)的數(shù)據(jù)交互問(wèn)題。本文就先拋一個(gè)話題,VB6實(shí)現(xiàn)基于HTTP Web調(diào)用來(lái)解決與基于B/S架構(gòu)的應(yīng)用程序間的調(diào)用(示例使用Java開(kāi)發(fā))。


          一、整體方案介紹




          說(shuō)明: VB客戶端使用msxml.dll組件,創(chuàng)建XMLHTTP對(duì)象,通過(guò)該對(duì)象以HTTP方式訪問(wèn)WebServer請(qǐng)求,提交數(shù)據(jù)并取得返回的數(shù)據(jù)結(jié)果

          二、如何使用MSXML組件進(jìn)行開(kāi)發(fā)

          a)         MSXML組件引入項(xiàng)目

                             MSXML組件引入項(xiàng)目比較簡(jiǎn)單,方法如下圖所示:



          :建議使用MSXML v6.0版本,如果本地沒(méi)有可上官網(wǎng)上下載。

            客戶端代碼編寫(xiě)

           


           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提交數(shù)據(jù)</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數(shù)據(jù)格式
          20     responseText = xmlhttp.responseText
          21      
          22     Set xmlhttp = Nothing
          23 

          服務(wù)器代碼編寫(xiě)(Jsp示例)

           1 <%
           2             //取得提交的參數(shù)
           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

          本文只是拋磚引玉,如果大家更好意見(jiàn)和建議,歡迎大家提出來(lái)分享。
          本文示例下載

          Good Luck!
          Yours Matthew!
          posted on 2008-08-19 08:50 x.matthew 閱讀(5646) 評(píng)論(1)  編輯  收藏 所屬分類: 其它
          主站蜘蛛池模板: 乐昌市| 蒙山县| 界首市| 江山市| 隆昌县| 开平市| 无锡市| 兰溪市| 玛沁县| 含山县| 泌阳县| 渭南市| 南陵县| 龙州县| 吴堡县| 庆城县| 平泉县| 安化县| 吴旗县| 沁阳市| 自治县| 大名县| 邵武市| 河西区| 平乡县| 木里| 紫云| 武定县| 琼海市| 满洲里市| 潍坊市| 长葛市| 平阴县| 东乌珠穆沁旗| 巴南区| 冀州市| 永州市| 华坪县| 锡林浩特市| 谢通门县| 灌南县|