首页 文章

SAP Hana服务层:无法为SSL / TLS安全通道 Build 信任关系

提问于
浏览
1

我试图通过我的代码调用SAP Hana服务层,但我遇到了以下错误:所以任何人都可以帮助我 .

Error 1st : AuthenticationException:根据验证过程,远程证书无效 .

Error 2nd : WebException:基础连接已关闭:无法为SSL / TLS安全通道 Build 信任关系 .

Error 3rd : HttpRequestException:发送请求时发生错误 .

Some more details about the App - 我在.net中创建了控制台应用程序及其在服务器上的执行[Hana Server在本地访问,因为服务器都在LAN中] Linux和Windows Server .

One more thing - 我的客户不打算为SAP Hana服务层购买域名和SSL证书,因为我的应用程序会在内部使用它 .

问题是,当我通过Postman测试登录服务时它的工作正常并且我也得到了会话详细信息,但同样的URL不能通过我的代码工作,所以我还需要做什么才能访问该服务?

网址 - https://172.17.100.35:50000/b1s/v1/Login

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;
}
}

3 回答

  • 1

    如果您使用自签名证书,则必须先接受它们 . 这可以通过浏览器将其添加到Windows证书来完成!如果要进行跨域调用,则需要更改b1s.config

    vim /usr/sap/SAPBusinessOne/ServiceLayer/conf/b1s.conf
    
    (...)
    "CorsEnable": true,
     "CorsAllowedOrigins": "*"}
    

    在 生产环境 模式中注意使用* < - <<< -

  • 1

    您需要在 postAsync 之前输入此代码

    ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    

    这样可以避免证书的验证 .

  • 1

    对于未来的googlers在将您的请求发送到Login endpoints 后获得500错误响应,请禁用ExpectContinue .

    client.DefaultRequestHeaders.ExpectContinue = false;
    

相关问题