情况1:
在外网的服务器上部署了一个Web Service,由于公司网络原因,仅能通过内网穿过代理服务器来访问外网的Web Service。在添加外网的Web Service时,可能会出现需要用户名、密码、登录域等权限信息,输入正确后可正常添加,但在发布后可能会出现如下错误
请求因 HTTP 状态 407 失败:Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )。
情况2:
WebService部署在企业内网的一台机器上,通过企业外网服务器端口映射;如果以企业外网:端口的方式添加该WebService可能VS无法正常添加,可先将本地WebService添加并动态之,调用方发布时再将地址修改为外网的WebService地址,但在发布后出现找不到地址(如果不加端口)或者Request地址(如果加入端口)不匹配等类似的错误。
对于以上两种情况,可通过对调用端WebService实例添加代理的方式解决:
在外网的服务器上部署了一个Web Service,由于公司网络原因,仅能通过内网穿过代理服务器来访问外网的Web Service。在添加外网的Web Service时,可能会出现需要用户名、密码、登录域等权限信息,输入正确后可正常添加,但在发布后可能会出现如下错误
请求因 HTTP 状态 407 失败:Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )。
情况2:
WebService部署在企业内网的一台机器上,通过企业外网服务器端口映射;如果以企业外网:端口的方式添加该WebService可能VS无法正常添加,可先将本地WebService添加并动态之,调用方发布时再将地址修改为外网的WebService地址,但在发布后出现找不到地址(如果不加端口)或者Request地址(如果加入端口)不匹配等类似的错误。
对于以上两种情况,可通过对调用端WebService实例添加代理的方式解决:
首先引用命名空间
using System.Net;
定义一个代理类
WebProxy myProxy = new WebProxy("202.168.101.3:8080",true);
设置代理对象的Credentials属性
myProxy.Credentials = new NetworkCredential("username "," password "," domainname ");
然后将定义的代理对象赋给Web Service对象的Proxy代理属性即可
myService.Proxy = myProxy;