在VB6或ASP中調用webservice

來源:互聯網
上載者:User
web VB6或ASP中調用webservice



Web Services技術使異種計算環境之間可以共用資料和通訊,達到資訊的一致性。我們可以利用

HTTP POST/GET協議、SOAP協議來調用Web Services。



一、 利用SOAP協議在VB6中調用Web Services



; 首先利用.net發布一個簡單的Web Services

<WebMethod()> _

Public Function getString(ByVal str As String) As String

Return "Hello World, " & str & "!"

End Function

該Web Services只包含一個getString方法,用於返回一個字串。當我們調用這個Web Services時,發送給.asmx頁面的SOAP訊息為:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getString xmlns="http://tempuri.org/TestWebService/Service1">
<str>string</str>
</getString>
</soap:Body>
</soap:Envelope>
而返回的SOAP訊息為:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getStringResponse xmlns="http://tempuri.org/TestWebService/Service1">
<getStringResult>string</getStringResult>
</getStringResponse>
</soap:Body>
</soap:Envelope>

; 在VB6中調用這個簡單的Web Services可以利用利用XMLHTTP協議向.asmx頁面發

送SOAP來實現。

在VB6中,建立一個簡單的工程,介面如圖,我們通過點擊Button來調用這個簡

單的Web Services






Dim strxml As String

Dim str As String

str = Text2.Text

'定義soap訊息

strxml = "<?xml version='1.0' encoding='utf-8'?><soap:Envelope

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

xmlns:xsd='http://www.w3.org/2001/XMLSchema'

xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><getString xmlns='http://tempuri.org/TestWebService/Service1'><str>" & str &

"</str></getString></soap:Body></soap:Envelope>"



'定義一個http對象,一邊向伺服器發送post訊息

Dim h As MSXML2.ServerXMLHTTP40

'定義一個XML的文檔對象,將手寫的或者接受的XML內容轉換成XML對象

Dim x As MSXML2.DOMDocument40

'初始化XML對象

Set x = New MSXML2.DOMDocument40

'將手寫的SOAP字串轉換為XML對象

x.loadXML strxml

'初始化http對象

Set h = New MSXML2.ServerXMLHTTP40

'向指定的URL發送Post訊息

h.open "POST", "http://localhost/TestWebService/Service1.asmx", False

h.setRequestHeader "Content-Type", "text/xml"

h.send (strxml)

While h.readyState <> 4

Wend

'顯示返回的XML資訊

Text1.Text = h.responseText

'將返回的XML資訊解析並且顯示傳回值

Set x = New MSXML2.DOMDocument40

x.loadXML Text1.Text

Text1.Text = x.childNodes(1).Text



我們在TEXTBOX中輸入“中國”,再點擊BUTTON,於是就可以在下邊的TEXTBOX中顯示“Hello World, 中國” 。顯示如圖:



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.