Webservice开发、引用
一、Webservice开发
1、在解决方案右键添加新建项目,新建空的web应用程序
2、在新建的项目右键添加新建项选择web服务
3、这里就是webservice 里的方法,可以添加自己需要的方法(方法前需要添加[WebMethod] 的特性,才可以被调用)
4、发布iis即可访问 
5、需要身份验证的webservice
5.1 SOAP Header身份验证
在webservice里添加如下类
public class MySoapHeader : SoapHeader
{
private string strUserName = string.Empty;
private string strPassWord = string.Empty; public MySoapHeader() { } public MySoapHeader(string username, string password)
{
this.strUserName = username;
this.strPassWord = password;
} #region 构造
/// <summary>
/// 用户名
/// </summary>
public string UserName
{
get { return strUserName; }
set { strUserName = value; }
}
/// <summary>
/// 密码
/// </summary>
public string PassWord
{
get { return strPassWord; }
set { strPassWord = value; }
} #endregion #region 检测是否正确登录
/// <summary>
/// 检测是否正确登录
/// </summary>
/// <returns></returns>
public bool ValideUser(out string msg )
{
msg = "";
if (strUserName == "admin" && strPassWord == "") //在这里设置身份验证的账号和密码
{
return true;
}
else
{
msg = "您无权调用次服务,请联系管理员!";
return false;
}
} #endregion
}
在添加方法的时候添加如下代码
public MySoapHeader header = new MySoapHeader (); ////定义用户身份验证类变量header
[System.Web.Services.Protocols.SoapHeader("header")]
[WebMethod]
public string GetUserName(string userID)
{
string msg = "";
if (!header.ValideUser(out msg)) //验证
{
return msg;
}
var data = new DALwbstest.UuserOP().GetUser(userID);
if (data != null)
{
return data.UsernameCN;
}
else
{
return "没有此人";
} }
调用的时候就需要账号密码验证,代码如下
WebReference.Npomwbs webClient = new Npomwbs();
MySoapHeader head = new MySoapHeader ();
head.UserName = "admin"; //在webservice里设置的账号和密码
head.PassWord = "";
webClient.MySoapHeaderValue = head; string name = webClient.GetUserName(txtID.Text); //调用需要验证的方法
5.2 windows身份验证
在webservice发布iis的时候设置如下,添加访问该webservice需要的账户和密码
身份验证设置成windows身份验证
调用的时候就需要账号密码验证,否则会提示没有授权, 添加如下代码
WebReference.Npomwbs webClient = new Npomwbs();
webClient.Credentials = new System.Net.NetworkCredential("admin",""); //这里就是你刚填写的账号和密码 string name = webClient.GetUserName(txtID.Text); // 调用方法
二、Webservice引用
1、添加Webservice引用
在项目上右键添加服务引用
在高级里添加web引用,在弹出的框里输入你发布的webservice地址,点右侧箭头,点击添加引用,添加引用成功
2、调用webservice
添加引用成功后就可以调用了
Webservice开发、引用的更多相关文章
- Webservice开发概念
一.Web Service基本概念 Web Service由两部分组成 SOAP--Web Service之间的基本通信协议. WSDL--Web Service描述语言,它定义了Web Servic ...
- Delphi XE5通过WebService开发Web服务端和手机客户端
Delphi XE5通过WebService开发Web服务端和手机客户端介绍 我们开发一个三层的android程序 建立一个webservices stand-alone vcl applicati ...
- 详解WebService开发中四个常见问题(2)
详解WebService开发中四个常见问题(2) WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...
- 详解WebService开发中四个常见问题(1)
详解WebService开发中四个常见问题(1) WebService开发中经常会碰到诸如WebService与方法重载.循环引用.数据被穿该等等问题.本文会给大家一些很好的解决方法. AD:WO ...
- 浅谈WebService开发三(动态调用WebService)转
在前两讲里,我已经向大家演示了如何使用WebService.同步, 异步调用WebService,而在实际开发过程中,可能会有多个WebService接口供你选择,而在程序执行过程中才决定使用哪一个 ...
- eclipse下的webservice开发
关于eclipse下的webservice开发,有非常多的教程,这里只记下学习过程中的弯路: 1.无论是CXF模式还是AXIS模式,在出现start server之后,点击next报错:"s ...
- [推荐]WebService开发知识介绍
[推荐]WebService开发知识介绍 WebService开发手册 http://wenku.baidu.com/view/df3992ce050876323112128a.html WebSe ...
- Domino 8.5 WebService开发一例
原文地址:Domino 8.5 WebService开发一例作者:bj木棉 需求是要调用一个Domino上的WebService/JAVA来实现与人事管理系统里的人员同步,就是在人事管理系统中增加用户 ...
- Java WebService 开发简单实例
Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以 ...
随机推荐
- 基于fpga的vga学习(2)
本次学习主要向配合basys2实行. 上次学习vga的rgb三个output都是1位的,但是我看了basys2的rgb分别是332位,这里让我卡顿了很久, 之后通过查资料才知道,rgb的不同大小表示的 ...
- OC中重写set和get方法、懒加载
在写OC程序的时候,在很多时候我们会用到重写set或者get方法,重写这两个方法大多是用于刷新数据,比如懒加载. 意思就是说当你去调用set或者get方法时,系统会去调用重写的get或者set方法,这 ...
- admob sdk
https://support.google.com/admob/answer/2993059?hl=zh-Hans admob sample http://china.inmobi.com/sdk/ ...
- IDEA打开maven项目dependencies红线
第一步:install报红的项目,从maven库下载需要的包,看看日志还缺哪些本地包,少了就去下,丢到库里.不缺包后,reimport一下一般就OK了,如果还是红的,重启一下就好了. 如果第一步还没好 ...
- Readme.txt
进入大学,越来越发现自学确实很重要,在学习计算机上,老师上课讲的远远不够,光凭理论是不够的.第一个接触的是VC++6.0这个老版的软件,一节理论课可以过三章内容着实惊吓,现在发现Vscode 可以将代 ...
- gogs 安装
docker 安装gogs 准备工作 安装一个mysql数据库,创建一个数据库 gogs,字符集为utf-8 查找gogs 镜像 docker search gogs 拉取镜像到本地 docker p ...
- windows下安装nodejs以及python2502,2503解决方案
1. 2053和2052为什么会出现出现这个提示的时候,是在程序安装步骤 到达copy new file的时候 进入下一步进行报错,可以推测出应该是软件包在安装的时候,解压缩部署核心文件的时候出错. ...
- Spring Boot 2 - 使用CommandLineRunner与ApplicationRunner
本篇文章我们将探讨CommandLineRunner和ApplicationRunner的使用. 在阅读本篇文章之前,你可以新建一个工程,写一些关于本篇内容代码,这样会加深你对本文内容的理解,关于如何 ...
- 全国计算机等级考试二级Python语言程序设计考试大纲
全国计算机等级考试二级Python语言程序设计考试大纲(2018年版) 基本要求 掌握Python语言的基本语法规则. 掌握不少于2个基本的Python标准库. 掌握不少于2个Python第三方库,掌 ...
- 第73节:Java中的HTTPServletReauest和HTTPServletResponse
第73节:Java中的HTTPServletReauest和HTTPServletResponse HTTP协议 客户端与服务器端通讯的一种规则. request: 请求行 请求头 请求体 respo ...