在ASPNET中调用WebService接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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();