C# SOAP Web 服务 服务器违反了协议。 Section=ResponseStatusLine
Posted
技术标签:
【中文标题】C# SOAP Web 服务 服务器违反了协议。 Section=ResponseStatusLine【英文标题】:C# SOAP Web Service The server committed a protocol violation. Section=ResponseStatusLine 【发布时间】:2012-10-16 22:18:57 【问题描述】:我有一个调用 Web 服务的应用程序...我收到一个错误,我正在拔掉我头上剩下的几根头发,也许有人可以帮忙。
代码如下:
Service_RetrieveIntervalDataserviceagent srv = new Service_RetrieveIntervalDataserviceagent();
srv.Credentials = new NetworkCredential(UserName, Password, Domain);
MDMIntervalDataInput dataInput = new MDMIntervalDataInput();
string Url = srv.Url;
DeviceList deviceList = new DeviceList();
deviceList.Type = DeviceListType.M;
deviceList.DeviceId = "2862,2876,2877".Split(',');
//Setup dataInput
dataInput.ApplicationName = "TestApp";
dataInput.StartDate = DateTime.Now.AddDays(-3).ToString("MM/dd/yyyy");
dataInput.EndDate = DateTime.Now.AddDays(-3).ToString("MM/dd/yyyy");
dataInput.OutputMode = MDMIntervalDataInputOutputMode.Wire;
dataInput.DeviceList = deviceList;
srv.RetrieveIntervalData_V10(dataInput);
我不断收到错误:
服务器违反了协议。 Section=ResponseStatusLine
我确实注意到 URL 从 HTTPS 更改为 HTTP 这可能是问题吗?
我也尝试将以下内容添加到我的配置文件中,但它仍然不起作用:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:这是我修复它的方法...
我注意到 URL 正在从 HTTPS 更改为 HTTP...HTTP URL 是罪魁祸首,因此我将其更新为手动设置 URL,并且它起作用了。
【讨论】:
以上是关于C# SOAP Web 服务 服务器违反了协议。 Section=ResponseStatusLine的主要内容,如果未能解决你的问题,请参考以下文章
在 PHP 中使用 SOAP 协议调用 Web服务(WebService)
Windows Azure Web 角色 useUnsafeHeaderParsing="true" 无法正常工作,得到“服务器违反协议。Section=ResponseStatu