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
(PureBasic) 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
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkXml.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::setCkTag(xml, "soap:Envelope") CkXml::ckAddAttribute(xml,"xmlns:soap","http://www.w3.org/2003/05/soap-envelope/") CkXml::ckAddAttribute(xml,"soap:encodingStyle","http://www.w3.org/2003/05/soap-encoding") CkXml::ckUpdateAttrAt(xml,"soap:Body",1,"xmlns:m","http://www.example.org/stock") CkXml::ckUpdateChildContent(xml,"soap:Body|m:GetStockPrice|m:StockName","IBM") CkHttp::ckSetRequestHeader(http,"SOAPAction","http://www.example.org/StockPrice") CkHttp::ckSetRequestHeader(http,"Host","www.example.org") CkHttp::ckSetRequestHeader(http,"Content-Type","application/soap+xml; charset=utf-8") sbRequestBody.i = CkStringBuilder::ckCreate() If sbRequestBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::ckGetXmlSb(xml,sbRequestBody) resp.i = CkHttp::ckPTextSb(http,"POST","https://example.com/StockQuote",sbRequestBody,"utf-8","application/soap+xml; charset=utf-8",0,0) If CkHttp::ckLastMethodSuccess(http) = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkXml::ckDispose(xml) CkStringBuilder::ckDispose(sbRequestBody) ProcedureReturn EndIf Debug Str(CkHttpResponse::ckStatusCode(resp)) Debug CkHttpResponse::ckBodyStr(resp) CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkXml::ckDispose(xml) CkStringBuilder::ckDispose(sbRequestBody) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.