![](/img/trans.png)
[英]WCF: Could not establish trust relationship for the SSL/TLS secure channel with authority
[英]SAP Hana Service Layer : Could not establish trust relationship for the SSL/TLS secure channel
我正在嘗試通過我的代碼調用SAP Hana服務層,但是我遇到了以下錯誤:所以有人可以幫我這個忙。
錯誤1st: AuthenticationException:根據驗證過程,遠程證書無效。
錯誤2nd: WebException:基礎連接已關閉:無法建立SSL / TLS安全通道的信任關系。
錯誤3rd: HttpRequestException:發送請求時發生錯誤。
有關該應用程序的更多詳細信息 -我已經在.net中創建了控制台應用程序,並且在服務器上執行了該應用程序[Hana Server可以在本地訪問,因為這兩個服務器都位於LAN中] Linux&Windows Server。
還有一件事 -我的客戶不打算購買SAP Hana服務層的域名和SSL證書,因為它將由我的應用內部使用。
問題是,當我通過Postman測試登錄服務時,它的工作正常,並且我也獲得了會話詳細信息,但是相同的url在我的代碼中不起作用,因此,我需要做更多的事情才能訪問該服務嗎?
網址-https: //172.17.100.35: 50000/ b1s/ v1/ 登錄
using (var client = new HttpClient())
{
var credentials = new { UserName = "admin", Password = "", "" };
var json = JsonConvert.SerializeObject(credentials);
var response = client.PostAsync(url),
new StringContent(json, Encoding.UTF8, "application/json")).Result;
if (response.IsSuccessStatusCode)
{
dynamic content = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
// Access variables from the returned JSON object
var appHref = content.links.applications.href;
}
}
您需要將此代碼放在postAsync之前
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
這樣可以避免證書的驗證。
對於將來的Google員工,在將您的請求發送到Login端點后收到500錯誤響應,請禁用ExpectContinue。
client.DefaultRequestHeaders.ExpectContinue = false;
如果您使用的是自簽名證書,則必須先接受它們。 可以通過瀏覽器將其添加到Windows證書ou中來完成! 如果進行跨域調用,則需要更改b1s.config
vim /usr/sap/SAPBusinessOne/ServiceLayer/conf/b1s.conf
(...)
"CorsEnable": true,
"CorsAllowedOrigins": "*"}
請注意在生產模式中使用* <-<<<-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.