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可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以 ...
随机推荐
- document,element,node方法
document方法: getElementById(id) 返回指定结点的引用 getElementsByTagName_r(name) ...
- MyBatis的好处及常见问题
好处 MyBatis持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置 ...
- 133. leetcode-Clone Graph
拷贝图,可以一边遍历一边拷贝 DFS class Solution { public: Node* cloneGraph(Node* node) { unordered_map<int, Nod ...
- Java中最常用的集合类框架之 HashMap
一.HashMap的概述 HashMap可以说是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构. HashMap是基于哈希表的Map接口实现的,此实现提供所有可选的映射 ...
- PopupWindow 以及拍照、裁剪
实现这样的效果 圆角图片的自定义控件直接拷进来,和com一个等级 想要弹出内容可以使用悬浮窗 layout_pupup <LinearLayout xmlns:android="htt ...
- Web前端JQuery面试题(三)
Web前端JQuery面试题(三) 1.怎么阻止冒泡过程? stopPropagation(); // 阻止冒泡过程 2.ready()方法和onload()方法的区别? onload()方法要等页面 ...
- 随手用python写一个下载jdk源码爬虫
最近在研读jdk源码,网上找了下资源,发现都不完整. 后来新发现了一个有完整源码的地方,主要包括了java,c,c++的东西,装逼需要,就想拿来玩玩.但是,找了好多种下载打开的方式,发现都不对.于是, ...
- python高级-包(15)
一.引入包 1.1 有2个模块功能有些联系 receiveMsg.py和sendMsg.py都在msg文件夹里面. 1.2.使用import 文件.模块的方式导入 在桌面创建demo.py文件,并把r ...
- Saiku多用户使用时数据同步刷新(十七)
Saiku多用户使用时数据同步刷新 这里我们需要了解一下关于saiku的刷新主要有两种数据需要刷新: >1 刷新数据库的表中的数据,得到最新的表数据进行展示. >2 刷新cube信息,得到 ...
- 好玩的原生js的简单拖拽
这个拖拽的图片不是唯一的,拿到代码自己添加一张照片就可以啦 <!DOCTYPE html><html> <head> <meta charset=" ...