在ASPNET中调用WebService接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、在中调用基于HTTP基本认证的WebService接口

在中调用基于HTTP基本认证的WebService接口的方法:

1、先用WSDL.EXE工具生成接口的代理类。

2、在代理类中重载GetWebRequest方法

protected override .WebRequest GetWebRequest(Uri uri)

{

HttpWebRequest request= (HttpWebRequest)base.GetWebRequest(uri);

if (PreAuthenticate)

{

NetworkCredential networkCredentials = Credentials.GetCredential(uri, "Basic");

if (networkCredentials != null)

{

byte[] credentialBuffer = new UTF8Encoding().GetBytes(

erName + ":" + networkCredentials.Password);

request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(credentialBuffer);//将验证信息添加到HTTP头}

else

{

throw new ApplicationException("No network credentials");

}

}

return request;

}

3、在客户端使用以下方式进行调用:

WebService service = new WebService();//代理类

NetworkCredential netCredential = new NetworkCredential("test", "test");//创建网络标识,此处填写用户名和密码Uri uri = new Uri(service.Url);

ICredentials credentials = netCredential.GetCredential(uri, "Basic");

service.Credentials = credentials;

service.PreAuthenticate = true;

service.Method();

相关文档
最新文档