科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在VB6或ASP中调用webservice

在VB6或ASP中调用webservice

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Web Services技术使异种计算环境之间可以共享数据和通信,达到信息的一致性。我们可以利用 HTTP POST/GET协议、SOAP协议来调用Web Services。

作者:guoyan19811021  来源:soft6 2008年5月23日

关键字: WebService 调用 VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件
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, 中国” 。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章