博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用webservice进行身份验证
阅读量:5049 次
发布时间:2019-06-12

本文共 2196 字,大约阅读时间需要 7 分钟。

   因为同事说在调用webservice的时候会弹出身份验证的窗口,直接调用会返回401,原因是站点部署的时候设置了身份验证(账号名称自己配置)。因而在调用的时候需要加入身份验证的凭证。

   

   至于如何获取身份验证的凭据呢?可以使用微软提供的NetworkCredential(命名空间是System.Net),代码如下。

   

using System;using System.Net;using webserviceSync.helloWebservice;namespace webserviceSync{    public partial class WebForm1 : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            MySoapHeader my = new MySoapHeader();            my.UserName = "";            Response.Write(webserviceClient.HelloWorld(my));        }        ///         /// 获取网络凭证        ///         /// 
public static NetworkCredential GetCredential() { //return new NetworkCredential("Administrator", "888888", "192.168.2.58");//简单直接 return (NetworkCredential)CredentialCache.DefaultCredentials;//需要本地设置凭据 } /// /// 验证凭证是否能通过 /// ///
public static bool IsVerifySucess() { string url = "http://192.168.2.58:7777/WebService.asmx?wsdl"; WebResponse webResponse = null; try { WebRequest webRequest = WebRequest.Create(url); webRequest.Credentials = GetCredential(); webRequest.Timeout = 15000; webResponse = webRequest.GetResponse(); } catch (Exception ex) { throw ex; } return true; } /// /// 属性 /// private static WebServiceSoapClient _webserviceClient = null; /// /// webservice服务 /// public static WebServiceSoapClient webserviceClient { get { if (_webserviceClient == null) { bool isSucess = IsVerifySucess(); if (isSucess == true) { _webserviceClient = new WebServiceSoapClient(); _webserviceClient.ClientCredentials.Windows.ClientCredential = GetCredential();//这属性........ } } return _webserviceClient; } } }}

如何在本地设置凭据可以参考

 

转载于:https://www.cnblogs.com/lflyq/p/6094335.html

你可能感兴趣的文章
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
动态调用WCF服务
查看>>
oracle导出/导入 expdp/impdp
查看>>
类指针
查看>>
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>