一、创建ASP.NET webservice项目
1、打开vs2013创建 ASP.NET web应用程序 选择空项目;
2、右键项目添加新建项,选择web服务(ASMX);
3、将这个修改 [WebService(Namespace = "http://www.youname.com/")];
4、点击调试,没有错误的情况下,右键项目发布;
二、配置IIS
1、控制面板-》程序和功能-》打开或关闭windows功能-》Internet 信息服务 然后勾选要开的选项 确定即可 然后重启计算机;
2、开始-》IIS 打开IIS管理界面 右键网站-》添加网站
物理路径就是刚在一中发布的文件路径
3、配置结束后,选择目录浏览,点击启动即可;
三、测试做的webservice
VS2013新建C# 项目,建一个winform程序即可
方法一:
右键项目-》添加-》服务引用-》高级-》添加web引用 (URL为webservice的网址)点击识别,记好Web引用名
WebReference.WebService1 service = new WebReference.WebService1();//WebReference是Web引用名
//将用户名与密码存入SoapHeader;
MySoapHeader header = new MySoapHeader();
header.UserID = "houlei";//UserID 为webservice方法
header.Password = "houlei";//Password 为webservice方法
service.MySoapHeaderValue = header;
string name = service.MyTest(); //MyTest为webservice方法
MessageBox.Show(name);
方法二:
首先添加XMLHttpRequest类下载地址:http://download.csdn.net/detail/u011269801/9470524;
其余的代码如下:
string aspcookie = "";
string str_path_service = "http://IP/WebService1.asmx";
string username = "lppppp";
XMLHttpRequest quest1 = new XMLHttpRequest();
quest1.Open("post", str_path_service, false, "", "", aspcookie);
quest1.SetRequestHeader("Content-Type", "text/xml; charset=utf-8");
quest1.SetRequestHeader("SOAPAction", "http://www.youname.com/MyTest");
string saop = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
saop += "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";
saop += "<soap:Header>";
saop += "<MySoapHeader xmlns=\"http://www.youname.com/\">";
saop += "<errinfo>" + username + "</errinfo>";
saop += "<UserID>" + username + "</UserID>";
saop += "<Password>" + username + "</Password>";
saop += "</MySoapHeader>";
saop += "</soap:Header>";
saop += "<soap:Body>";
saop += "<MyTest xmlns=\"http://www.liupeng.com/\" />";
saop += "</soap:Body>";
saop += "</soap:Envelope>";
quest1.Send(saop);
string[] dd = quest1.GetAllResponseHeaders();
string strsource = quest1.GetResponseHeader("Set-Cookie");
string regult = quest1.GetResponseXML().InnerText;
if (regult == "")
{
MessageBox.Show("登陆失败。", "提示", MessageBoxButtons.OK);
return;
}
else if (regult == "用户不存在")
{
MessageBox.Show("用户不存在。", "提示", MessageBoxButtons.OK);
return;
}
aspcookie = quest1.GetResponseHeader("Set-Cookie");