Csharp/C#教程:调用Web服务时“请求失败并显示空响应”分享


调用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

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐