我有一个使用OData开发的Simple.OData.Client Excel插件。应用程序运行良好,但现在我收到了这样的消息:
System.Net.WebException:请求被中止:无法创建SSL/TLS安全通道
ODataClientSettings odcSettings = new ODataClientSettings();
//Define the URL
Uri uriOdata = new Uri(datosDeConexion.Url);
odcSettings.BaseUri = uriOdata;
odcSettings.Credentials = new NetworkCredential(datosDeConexion.Username, datosDeConexion.Password);
odcSettings.BeforeRequest = requestMessage =>
{
requestMessage.Headers.Accept.Clear();
requestMessage.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
requestMessage.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
};
/*
We establish the connection and we bring the metadata to know if it is connected
*/
ODataClient client = new ODataClient(odcSettings);
IEdmModel metadata = await client.GetMetadataAsync<IEdmModel>();
var entityTypes = metadata.SchemaElements.OfType<IEdmEntityType>().ToArray();
label1.Text = "Connection successful";
label1.ForeColor = Color.Green;
button2.Enabled = true; 我们没有更改代码或库,而是将提供程序升级到Ubuntu22.04.1LTS
我一直在寻找这个错误,但我无法理解适用于Simple.OData.Client的解决方案。我们使用的是Simple.OData.Client版本5.26.0.0,如果我使用来自OData的标准OData连接器(数据->Get数据->来自其他来源->OData提要),它可以正常工作,但我的代码不工作。这意味着我需要修理它但我不知道怎么做。
我们的证书没有问题
任何想法都是值得赞赏的
发布于 2022-10-21 06:39:11
尝试将此代码添加到代码块的上方。
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
ODataClientSettings odcSettings = new ODataClientSettings();
...您可以在这里找到解释:https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls
https://stackoverflow.com/questions/74145579
复制相似问题