SAP B1服务层写入(POST,PATCH等)错误。 Asp.Net Httpweb请求

时间:2018-11-27 08:08:00

标签: httpwebrequest sap hana service-layer

当我通过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 Sample Project复制了此设置,也尝试了许多不同的设置,但无法解决问题。谢谢。

        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;

1 个答案:

答案 0 :(得分:0)

我们发现“基础连接已关闭:连接意外关闭”的主要原因。错误是有关硬件资源不足的。在我们切换到功能更强大的服务器后,该服务器使用与旧机器(开发环境)相同的服务层配置,从而解决了该问题。