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.
import sys import chilkat req = chilkat.CkHttpRequest() http = chilkat.CkHttp() # Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial") if (success != True): print http.lastErrorText() sys.exit() # 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() 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() # 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 == None ): print http.lastErrorText() else: # The XML response is in the BodyStr property of the response object: soapResp = chilkat.CkXml() 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() xmlResp.LoadXml(soapResp.content()) # Display the XML response: print xmlResp.getXml() |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.