Sap B1服务层写入(POST、PATCH等)错误.Asp.Net Httpweb请求



当我通过Asp.NetHttpWebRequest向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;

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

最新更新