【问题标题】:Sap B1 Service Layer Write (POST, PATCH etc.) Error. Asp.Net HttpwebrequestSap B1 服务层写入(POST、PATCH 等)错误。 Asp.Net Httpwebrequest
【发布时间】:2019-04-28 22:20:45
【问题描述】:

当我通过 Asp.Net HttpWebRequest 向 Sap B1 服务层发送数据时遇到异常。

我们正在使用 https://xx.xx.x.xxx:50000/b1s/v1/ 服务层操作地址 但后来我们切换到 http://xx.xx.x.xxx:50001/b1s/v1/ 地址(负载平衡端口)。 这解决了一些问题,但现在我们面临着 “底层连接已关闭:连接意外关闭。”错误。该错误仅发生在“POST”和“PATCH”等写入方法中。有趣的是,该错误很少发生在前 2 到 3 个请求之后。

我发送如下所示的 HttpWebRequest 请求,并从 Sap B1 示例项目中复制了此设置,还尝试了许多不同的设置,但无法解决问题。谢谢。

        var request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "PATCH"
        request.Accept = "application/json;odata=minimalmetadata";
        request.KeepAlive = true;                               
        request.ServicePoint.Expect100Continue = false;       
        request.AllowAutoRedirect = true;
        request.ContentType = "application/json;odata=minimalmetadata;charset=utf8";
        request.Timeout = 10000000;
        request.Headers.Add(HttpRequestHeader.Cookie, "B1SESSION=" + GetSessionId());

我的 Global.asax.cs 中也有以下设置

        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
        ServicePointManager.ServerCertificateValidationCallback +=
            (sndr, cert, chain, sslPolicyErrors) => true;

【问题讨论】:

    标签: httpwebrequest sap hana service-layer


    【解决方案1】:

    我们发现“底层连接被关闭:连接被意外关闭”的主要原因。错误是关于缺乏硬件资源。在我们切换到更强大的服务器后,该服务器使用与旧机器(开发环境)相同的服务层配置,问题得到解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多