Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
SOAP ExampleHow to send a SOAP request and get the XML response. require 'chilkat' req = Chilkat::CkHttpRequest.new() http = Chilkat::CkHttp.new() # Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial") if (success != true) print http.lastErrorText() + "\n" exit end # 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> soapReq = Chilkat::CkXml.new() soapReq.put_Encoding("utf-8") soapReq.put_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() print soapReq.getXml() + "\n"; # Build an SOAP request. req.UseXmlHttp(soapReq.getXml()) req.put_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. domain = "www.webservicex.net" port = 80 ssl = false # resp is a CkHttpResponse resp = http.SynchronousRequest(domain,port,ssl,req) if (resp == nil ) print http.lastErrorText() + "\n"; else # The XML response is in the BodyStr property of the response object: soapResp = Chilkat::CkXml.new() 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: xmlResp = Chilkat::CkXml.new() xmlResp.LoadXml(soapResp.content()) # Display the XML response: print xmlResp.getXml() + "\n"; end |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.