Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Duplicate TLS 1.2 SOAP Request that uses .NET HttpWebRequestThis example shows how to duplicate a SOAP request that uses .NET's HttpWebRequest and requires TLS 1.2.
string xmlRequest = "...envelope..."
System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
string url = "https://www3.gsis.gr/webtax2/wsgsis/RgWsPublic/RgWsPublicPort?WSDL";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "text/xml;charset=UTF-8";
byte[] reqBytes = new System.Text.UTF8Encoding().GetBytes(xmlRequest);
req.ContentLength = reqBytes.Length;
try {
using (System.IO.Stream reqStream = req.GetRequestStream()) {
reqStream.Write(reqBytes, 0, reqBytes.Length);
reqStream.Flush();
reqStream.Close();
}
} catch (Exception ex) {
actionLogger.AddError(ex.Message, null);
actionLogger.Validate();
}
string xmlResponse = null;
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse()) {
try {
using (System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream())) {
xmlResponse = sr.ReadToEnd();
sr.Close();
}
} catch (Exception ex) {
actionLogger.AddError(ex.Message, null);
actionLogger.Validate();
} finally {
resp.Close();
}
}
#include <CkHttp.h> #include <CkHttpRequest.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkString strOut; // This example assumes Chilkat HTTP to have been previously unlocked. // See Global Unlock Sample for sample code. bool success; CkHttp http; CkHttpRequest req; req.put_HttpVerb("POST"); req.put_ContentType("text/xml"); req.put_SendCharset(true); req.put_Charset("utf-8"); req.put_Path("/webtax2/wsgsis/RgWsPublic/RgWsPublicPort?WSDL"); const char *xmlRequest = "...SOAP envelope..."; req.LoadBodyFromString(xmlRequest); http.put_FollowRedirects(true); // Chilkat will automatically offer TLS 1.2. It is the server that // chooses the TLS protocol version. Assuming the server wishes to use // TLS 1.2, then that is what will be used. CkHttpResponse *resp = http.SynchronousRequest("www3.gsis.gr",443,true,req); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } const char *xmlResponse = resp->bodyStr(); strOut.append(xmlResponse); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
||||
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.