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 SOAP 1.2 Request and Response using POSTDemonstrates a working SOAP 1.2 request and response using POST with a live server. You may try running this example with the URLs and data provided. See http://wsf.cdyne.com/WeatherWS/Weather.asmx?op=GetCityWeatherByZIP for details. Note: This example is correct in theory, but no longer works for live testing because the SOAP service provider (cdyne.com) has made changes or discontinued the free service.
#import <CkoHttp.h> #import <CkoXml.h> #import <CkoHttpRequest.h> #import <CkoHttpResponse.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // -------------------------------------------------------------------------------- // Also see Chilkat's Online WSDL Code Generator // to generate code and SOAP Request and Response XML for each operation in a WSDL. // -------------------------------------------------------------------------------- CkoHttp *http = [[CkoHttp alloc] init]; CkoXml *soapXml = [[CkoXml alloc] init]; soapXml.Tag = @"soap12:Envelope"; BOOL success = [soapXml AddAttribute: @"xmlns:xsi" value: @"http://www.w3.org/2001/XMLSchema-instance"]; success = [soapXml AddAttribute: @"xmlns:xsd" value: @"http://www.w3.org/2001/XMLSchema"]; success = [soapXml AddAttribute: @"xmlns:soap12" value: @"http://www.w3.org/2003/05/soap-envelope"]; [soapXml NewChild2: @"soap12:Body" content: @""]; success = [soapXml GetChild2: [NSNumber numberWithInt: 0]]; [soapXml NewChild2: @"GetCityWeatherByZIP" content: @""]; success = [soapXml GetChild2: [NSNumber numberWithInt: 0]]; success = [soapXml AddAttribute: @"xmlns" value: @"http://ws.cdyne.com/WeatherWS/"]; [soapXml NewChild2: @"ZIP" content: @"60187"]; [soapXml GetRoot2]; NSLog(@"%@",[soapXml GetXml]); CkoHttpRequest *req = [[CkoHttpRequest alloc] init]; req.HttpVerb = @"POST"; req.SendCharset = NO; [req AddHeader: @"Content-Type" value: @"application/soap+xml; charset=utf-8"]; [req AddHeader: @"SOAPAction" value: @"http://ws.cdyne.com/WeatherWS/GetCityWeatherByZIP"]; req.Path = @"/WeatherWS/Weather.asmx"; success = [req LoadBodyFromString: [soapXml GetXml] charset: @"utf-8"]; http.FollowRedirects = YES; CkoHttpResponse *resp = [http SynchronousRequest: @"wsf.cdyne.com" port: [NSNumber numberWithInt: 80] ssl: NO req: req]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); } else { CkoXml *xmlResponse = [[CkoXml alloc] init]; success = [xmlResponse LoadXml: resp.BodyStr]; NSLog(@"%@",[xmlResponse GetXml]); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.