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
(Objective-C) 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
#import <CkoHttp.h> #import <CkoXml.h> #import <CkoStringBuilder.h> #import <CkoHttpResponse.h> // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; // 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> // CkoXml *xml = [[CkoXml alloc] init]; xml.Tag = @"soap:Envelope"; [xml AddAttribute: @"xmlns:soap" value: @"http://www.w3.org/2003/05/soap-envelope/"]; [xml AddAttribute: @"soap:encodingStyle" value: @"http://www.w3.org/2003/05/soap-encoding"]; [xml UpdateAttrAt: @"soap:Body" autoCreate: YES attrName: @"xmlns:m" attrValue: @"http://www.example.org/stock"]; [xml UpdateChildContent: @"soap:Body|m:GetStockPrice|m:StockName" value: @"IBM"]; [http SetRequestHeader: @"SOAPAction" value: @"http://www.example.org/StockPrice"]; [http SetRequestHeader: @"Host" value: @"www.example.org"]; [http SetRequestHeader: @"Content-Type" value: @"application/soap+xml; charset=utf-8"]; CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init]; [xml GetXmlSb: sbRequestBody]; CkoHttpResponse *resp = [http PTextSb: @"POST" url: @"https://example.com/StockQuote" textData: sbRequestBody charset: @"utf-8" contentType: @"application/soap+xml; charset=utf-8" md5: NO gzip: NO]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } NSLog(@"%d",[resp.StatusCode intValue]); NSLog(@"%@",resp.BodyStr); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.