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. import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { CkHttpRequest req = new CkHttpRequest(); CkHttp http = new CkHttp(); boolean success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { System.out.println(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> CkXml soapReq = new 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(); System.out.println(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. String domain; int port; boolean ssl; domain = "www.webservicex.net"; port = 80; ssl = false; CkHttpResponse resp; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == null ) { System.out.println(http.lastErrorText()); } else { // The XML response is in the BodyStr property of the response object: CkXml soapResp = new 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: CkXml xmlResp = new CkXml(); xmlResp.LoadXml(soapResp.content()); // Display the XML response: System.out.println(xmlResp.getXml()); } } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.