簡體   English   中英

SAP Hana服務層:無法為SSL / TLS安全通道建立信任關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM