http://api.google.com/search/beta2 这个站点不可以。。

解决方案 »

  1.   

    wsdl /pd:"yourDomain" /proxyusername:"username" /proxypassword:"**" /proxy:"proxy"
     http://sss.asmx?WSDL然后
    在生成的代理类构造函数中添加具体的代理信息
    或者在Client使用代理类时添加代理信息
      

  2.   

    请问如何在代理类构造函数中添加具体的代理信息?我已经获得wsdl的信息了(VS请求webservice的时候是使用IE的代理的,主要是IIS不会去使用。。)。。
      

  3.   

    NetworkCredential credential1 = new NetworkCredential("uid", "pwd", "domain");
    Proxy = new WebProxy("http://proxy:port", true);
    Proxy.Credentials = credential1;
    Url = "http://api.google.com/search/beta2";
      

  4.   

    请问是在Reference.cs里边修改么?我在这个方法里边加上了        public GoogleSearchService() {
                NetworkCredential credential1 = new NetworkCredential();
                Proxy = new WebProxy("http://203.113.132.50:8080", true);
                Proxy.Credentials = credential1;            this.Url = "http://api.google.com/search/beta2";
            }203.113.132.50 8080 是我找到的一个匿名代理,还是出不去。。
      

  5.   

    前提(情景描述)          在局域网内,所有机器通过一个代理服务器上网(能通过HTTP方式访问网站),并且,所有的机器已经加入了一个域中。 代理服务器对所有请求连接到Internet上的请求都进行认证,如果不是域内指定的用户则不允许访问。 机器A上有一asp.net应用程序需要通过webservice远程访问位于Internet上的一台服务器B。2.     出错症状(附LOG日志)远程调用webservice失败。出现如下错误日志:System.Net.WebException: 请求因 HTTP 状态 407 失败:Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied.  )at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)3.     原因分析从错误日志中可以看到,提示的是“ISA 服务器需要认证访问web代理服务被禁止”,这里说明在调用webservice时,使用的用户帐号不能被代理服务器识别并认证,而asp.net程序一般总是通过aspnet用户进行一切资源访问,问题就出在这里,当ASP.NET程序通过访问webservice的时候是使用aspnet帐户的,而代理服务器上一般不会有这个用户的,所以就会出现禁止访问的问题。4.     解决方法通过上面的错误分析可以看到,只要程序在请求连接webservice的时候提交到代理服务器上的是正确的用户信息即可(比如可以是机器A的系统管理员帐号)。可以在代码中加入这样的信息(以下是简单的示例代码,具体的应用可以修改)://获取webservice的urlthis.Url =http://xxx.xxx.xxx.xxx/xxx.asmx;//设置代理服务器System.Net.IWebProxy proxyObject = new System.Net.WebProxy("xxx.xxx.xxx.xxx:80", true);//加入身份验证的凭据,可以是当前机器的系统管理员帐号和密码proxyObject.Credentials = new NetworkCredential("username","password","domain");this.Proxy = proxyObject;当然,这里的身份验证代码可以写的更灵活一点,可以将这个用户名和密码写到一个配置文件里面进行配置。