Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
SOAP ExampleHow to send a SOAP request and get the XML response.
Chilkat.HttpRequest req = new Chilkat.HttpRequest(); Chilkat.Http http = new Chilkat.Http(); bool success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { MessageBox.Show(http.LastErrorText); return; } // 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> Chilkat.Xml soapReq = 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 += soapReq.GetXml() + "\r\n"; // 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. string domain; int port; bool ssl; domain = "www.webservicex.net"; port = 80; ssl = false; Chilkat.HttpResponse resp = null; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == null ) { textBox1.Text += http.LastErrorText + "\r\n"; } else { // The XML response is in the BodyStr property of the response object: Chilkat.Xml soapResp = 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: Chilkat.Xml xmlResp = new Chilkat.Xml(); xmlResp.LoadXml(soapResp.Content); // Display the XML response: textBox1.Text += xmlResp.GetXml() + "\r\n"; } |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.