- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 http://chennaiemergency.co.in/sree/s2.php?wsdl 找到了一个简单的在线网络服务我可以使用 2 个浮点值 (1,1) 通过 SOAP UI 调用它,并在 1-2 秒内轻松获得响应。现在,在一个新的 visual studio 2010 控制台应用程序项目中,我执行“添加服务引用”并提供 WSDL。然后在生成的客户端中我这样做:
ServiceReference1.ChnEmergencyPortTypeClient client = new ChnEmergencyPortTypeClient();
string hospital = client.hospital(1, 1);
我在 1 分钟后收到超时异常。我肯定禁用了防火墙。我正在使用 Windows7x64我正在通过代理服务器使用互联网。
我通过添加网络引用尝试了同样的事情,但我遇到了同样的超时错误。
现在在 web 引用实现中,我做了以下几处修改:
WebProxy webProxy = new WebProxy("<my proxy server name>", <port>);
ChnEmergency client = new ChnEmergency();
client.Timeout = 200000;
client.Proxy = webProxy;
string hospital = client.hospital(1, 1);
但我仍然超时。有什么我遗漏的建议吗?
我使用不涉及代理服务器的直接(通过电话)内部连接进行了快速测试。而且我能够成功访问。这表明我提供 webproxy 的方式有问题。 IE 互联网设置表明我的代理设置是:
地址:a.b.c.com端口:80
所以我正在构建一个这样的网络代理
WebProxy webProxy = new WebProxy("a.b.c.com", 80);
现在我不知道某处是否涉及“安全 http”概念,也不知道如何弄清楚。但是用 http://a.b.c.com 在浏览器上快速尝试一下和 https://a.b.c.com产生了不同的结果。在“http”的情况下,我得到了那个无效的 url。在“https”情况下,错误是“Google Chrome 连接到 a.b.c.com 的尝试被拒绝。该网站可能已关闭,或者您的网络可能未正确配置”
如果我将 webproxy 与 https 一起使用,它会显示“服务点管理器未针对 https 配置”
我使用 fiddler 查看事件,我看到请求确实出现在 fiddler 中。但是没有回应。这是否一定意味着请求正在通过?或者请求是否会在较低级别被阻止(即在它通过 fiddler 之后)。
最佳答案
我尝试快速制作一个小型 Web 项目,它似乎工作正常,但您添加 Web 服务的方式返回的 XML 如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:hospitalResponse xmlns:ns1="urn:ChnEmergency">
<return xsi:type="xsd:string">12.944672~80.134578~Chrompet GH~Government~GST Road, Chrompet~Chrompet~600036</return>
</ns1:hospitalResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
如果您的 Proxy 需要密码,您可以尝试:
var proxy = new WebProxy("proxy.foo.com", 8080);
proxy.Credentials = new NetworkCredential("user", "pass");
WebRequest.DefaultWebProxy = proxy;
关于c# - 如何为服务引用指定 Web 代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6941645/
我是一名优秀的程序员,十分优秀!