⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soap_example.txt

📁 How to send a SOAP request and get the XML response
💻 TXT
字号:
Dim req As New Chilkat.HttpRequest()
Dim http As New Chilkat.Http()

Dim success As Boolean

'  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial")
If (success <> true) Then
    MsgBox(http.LastErrorText)
    Exit Sub
End If


'  Build this XML SOAP request:
'  <?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>
'      <GetQuote xmlns="http://www.webserviceX.NET/">
'        <symbol>string</symbol>
'     </GetQuote>
'    </soap:Body>
'  </soap:Envelope>
Dim soapReq As New Chilkat.Xml()
soapReq.Encoding = "utf-8"
soapReq.Tag = "soap:Envelope"
soapReq.AddAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance")
soapReq.AddAttribute("xmlns:xsd","http://www.w3.org/2001/XMLSchema")
soapReq.AddAttribute("xmlns:soap","http://schemas.xmlsoap.org/soap/envelope/")

soapReq.NewChild2("soap:Body","")
soapReq.FirstChild2()
soapReq.NewChild2("GetQuote","")
soapReq.FirstChild2()
soapReq.AddAttribute("xmlns","http://www.webserviceX.NET/")
soapReq.NewChild2("symbol","MSFT")
soapReq.GetRoot2()

TextBox1.Text = TextBox1.Text & soapReq.GetXml() & vbCrLf

'  Build an SOAP request.
req.UseXmlHttp(soapReq.GetXml())
req.Path = "/stockquote.asmx"

req.AddHeader("SOAPAction","http://www.webserviceX.NET/GetQuote")

'  Send the HTTP POST and get the response.  Note: This is a blocking call.
'  The method does not return until the full HTTP response is received.
Dim domain As String
Dim port As Long
Dim ssl As Boolean
domain = "www.webservicex.net"
port = 80
ssl = false
Dim resp As Chilkat.HttpResponse
resp = http.SynchronousRequest(domain,port,ssl,req)
If (resp Is Nothing ) Then
    TextBox1.Text = TextBox1.Text & http.LastErrorText & vbCrLf
Else
    '  The XML response is in the BodyStr property of the response object:
    Dim soapResp As New Chilkat.Xml()
    soapResp.LoadXml(resp.BodyStr)

    '  The response will look like this:
    '  <?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>
    '      <GetQuoteResponse xmlns="http://www.webserviceX.NET/">
    '        <GetQuoteResult>string</GetQuoteResult>
    '      </GetQuoteResponse>
    '    </soap:Body>
    '  </soap:Envelope>
    '  Navigate to soap:Body
    soapResp.FirstChild2()
    '  Navigate to GetQuoteResponse
    soapResp.FirstChild2()
    '  Navigate to GetQuoteResult
    soapResp.FirstChild2()

    '  The actual XML response is the data within GetQuoteResult:
    Dim xmlResp As New Chilkat.Xml()
    xmlResp.LoadXml(soapResp.Content)

    '  Display the XML response:
    TextBox1.Text = TextBox1.Text & xmlResp.GetXml() & vbCrLf

End If

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -