![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (Delphi DLL) 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. Note: This example requires Chilkat v11.0.0 or greater. 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse, Xml; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; http: HCkHttp; soapXml: HCkXml; req: HCkHttpRequest; resp: HCkHttpResponse; xmlResponse: HCkXml; begin success := False; // 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. // -------------------------------------------------------------------------------- http := CkHttp_Create(); soapXml := CkXml_Create(); CkXml_putTag(soapXml,'soap12:Envelope'); success := CkXml_AddAttribute(soapXml,'xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance'); success := CkXml_AddAttribute(soapXml,'xmlns:xsd','http://www.w3.org/2001/XMLSchema'); success := CkXml_AddAttribute(soapXml,'xmlns:soap12','http://www.w3.org/2003/05/soap-envelope'); CkXml_NewChild2(soapXml,'soap12:Body',''); success := CkXml_GetChild2(soapXml,0); CkXml_NewChild2(soapXml,'GetCityWeatherByZIP',''); success := CkXml_GetChild2(soapXml,0); success := CkXml_AddAttribute(soapXml,'xmlns','http://ws.cdyne.com/WeatherWS/'); CkXml_NewChild2(soapXml,'ZIP','60187'); CkXml_GetRoot2(soapXml); Memo1.Lines.Add(CkXml__getXml(soapXml)); req := CkHttpRequest_Create(); CkHttpRequest_putHttpVerb(req,'POST'); CkHttpRequest_putSendCharset(req,False); CkHttpRequest_AddHeader(req,'Content-Type','application/soap+xml; charset=utf-8'); CkHttpRequest_AddHeader(req,'SOAPAction','http://ws.cdyne.com/WeatherWS/GetCityWeatherByZIP'); CkHttpRequest_putPath(req,'/WeatherWS/Weather.asmx'); success := CkHttpRequest_LoadBodyFromString(req,CkXml__getXml(soapXml),'utf-8'); CkHttp_putFollowRedirects(http,True); resp := CkHttpResponse_Create(); success := CkHttp_HttpSReq(http,'wsf.cdyne.com',80,False,req,resp); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; xmlResponse := CkXml_Create(); success := CkXml_LoadXml(xmlResponse,CkHttpResponse__bodyStr(resp)); Memo1.Lines.Add(CkXml__getXml(xmlResponse)); CkHttp_Dispose(http); CkXml_Dispose(soapXml); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); CkXml_Dispose(xmlResponse); end;  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.