调用Web服务时“请求失败并显示空响应”
从aspx页面调用托管在服务器中的Web服务时,会收到类似“请求失败且响应为空”的错误。
我页面中的代码
try { HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("https://login.erp.com/rodeprovisioning/provisioning.asmx"); request1.Accept = "text/xml"; request1.Method = "POST"; WebProxy proxyObject = new System.Net.WebProxy("https://10.0.0.1:8080/", true); request1.Proxy.Credentials = CredentialCache.DefaultCredentials; string sReturnValue = null; if (string.IsNullOrEmpty(Session["Test"])) { sReturnValue = callservice(); if (sReturnValue == "Success") { ErrorLabel.Text = sReturnValue; Session["Test"] = "True"; } else { ErrorLabel.Text = sReturnValue; } } } catch (Exception ex) { }
并在web.config中
这是防火墙问题。有什么建议吗?
我知道这是一个老问题,但我们在其中一个集成环境中遇到了同样的exception:
System.Net.WebException: The request failed with an empty response
问题在于,当我们升级服务器硬件时,我们还将所有端点切换为使用HTTPS。 调用端点的代码未升级,因此它仍然使用常规HTTP。 显然,这是您尝试将HTTPS服务作为HTTP调用时获得的exception。 希望这可以帮助有人下线。
我想补充一下Andacious说的话。 我正在调用一个https的Web服务,但当我查看调用它的对象的属性时,它实际上是使用http。 所以我专门设置了URL属性。
我有一个名为interchange的类,它inheritance自SoapHttpClientProtocol。
interchangeWS = new InterchangeWS(); interchangeWS.Url = "https://somesite/interchange.asmx"; string x = interchangeWS.SomeMethod("someParameter");
有时在指向LoadBalancer下的端点时会发生这种情况,一旦您使用HTTPS添加对项目的引用(在VisualStudio中),然后检查子项下的app.config文件并查看端点URL是否设置为HTTP,然后手动将其更新为HTTPS,你应该很好。 希望能帮助到你。
确保该服务是https而不是web.config文件中的http.Place https
在客户端app.config或web.config中,首先检查Web服务URL,如果您的Web服务URL具有安全套接字层证书,则将相同的安全套接字层启用URL添加到app.config或web.config。 像这样的“ https://crm.XXXX.com/webServiceName.asmx ”
System.Net.WebException:请求失败,返回空
上述就是C#学习教程:调用Web服务时“请求失败并显示空响应”分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1011837.html