Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) HTTP POST with XML BodyDemonstrates sending an HTTP POST with a XML body. For more information, see https://chilkatsoft.com/http_post_with_xml_body.asp
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; success: Integer; xml: TChilkatXml; sbRequestBody: TChilkatStringBuilder; resp: IChilkatHttpResponse; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); // Implements the following CURL command: // curl -X POST https://example.com/StockQuote \ // -H "Host: www.example.org" \ // -H "Content-Type: application/soap+xml; charset=utf-8" \ // -H "SOAPAction: http://www.example.org/StockPrice" \ // -d '<?xml version="1.0"?> // // <soap:Envelope // xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" // soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> // // <soap:Body xmlns:m="http://www.example.org/stock"> // <m:GetStockPrice> // <m:StockName>IBM</m:StockName> // </m:GetStockPrice> // </soap:Body> // // </soap:Envelope>' // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code // Use this online tool to generate code from sample XML: // Generate Code to Create XML // -------------------------------------------------------------------------------- // Also see Chilkat's Online WSDL Code Generator // to generate code and SOAP Request and Response XML for each operation in a WSDL. // -------------------------------------------------------------------------------- // The following XML is sent in the request body. // <?xml version="1.0" encoding="utf-8"?> // <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> // <soap:Body xmlns:m="http://www.example.org/stock"> // <m:GetStockPrice> // <m:StockName>IBM</m:StockName> // </m:GetStockPrice> // </soap:Body> // </soap:Envelope> // xml := TChilkatXml.Create(Self); xml.Tag := 'soap:Envelope'; xml.AddAttribute('xmlns:soap','http://www.w3.org/2003/05/soap-envelope/'); xml.AddAttribute('soap:encodingStyle','http://www.w3.org/2003/05/soap-encoding'); xml.UpdateAttrAt('soap:Body',1,'xmlns:m','http://www.example.org/stock'); xml.UpdateChildContent('soap:Body|m:GetStockPrice|m:StockName','IBM'); http.SetRequestHeader('SOAPAction','http://www.example.org/StockPrice'); http.SetRequestHeader('Host','www.example.org'); http.SetRequestHeader('Content-Type','application/soap+xml; charset=utf-8'); sbRequestBody := TChilkatStringBuilder.Create(Self); xml.GetXmlSb(sbRequestBody.ControlInterface); resp := http.PTextSb('POST','https://example.com/StockQuote',sbRequestBody.ControlInterface,'utf-8','application/soap+xml; charset=utf-8',0,0); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add(IntToStr(resp.StatusCode)); Memo1.Lines.Add(resp.BodyStr); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.