学习webservice
客户端测试页:

WebService代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Net;
using System.Web.Services.Protocols; namespace WebSit1
{
/// <summary>
/// Service 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{ //[WebMethod]
//public string HelloWorld()
//{
// return "Hello World";
//} [WebMethod(Description="求和的方法",EnableSession=true)]
public double addition(double i,double j)
{
return i + j;
}
[WebMethod(Description="求差的方法")]
public double substruct(double i,double j)
{
return i - j;
}
[WebMethod(Description = "求积的方法")]
public double multiplication(double i, double j)
{
return i * j;
}
[WebMethod(Description = "求商的方法")]
public double division(double i, double j)
{
if (j!=)
{
return i / j;
}
else
{
return ;
} } [WebMethod(Description = "得到一个表格的方法")]
public DataTable getTable(int j)
{
DataTable dt = new DataTable("Test");
dt.Columns.Add(new DataColumn("col1", typeof(System.String)));
dt.Columns.Add(new DataColumn("col2", typeof(System.String))); for (int i = ; i < j; i++)
{
DataRow dr = dt.NewRow();
dr[] = i.ToString();
dr[] = i.ToString();
dt.Rows.Add(dr);
}
return dt; }
[WebMethod(EnableSession=true)]
public string TestSession()
{
string s = "TestSession";
object o = Session[s];
int i = o != null ? (int)o : ;
i++;
Session[s]=i;
return Session.SessionID + ":" + i;
} public myHeader header;
[WebMethod(Description="测试soap")]
[SoapHeader("header",Direction=SoapHeaderDirection.In )]
public string TestSoapHeadIn()
{
return header.name+":"+header.psw;
}
} public class myHeader:SoapHeader
{
public string name;
public string psw;
}
}
客户端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Net;
using localhost; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.Width = ;
btn.Text = "=";
btn.Click += btn_Click;
E.Controls.Add(btn);
getTable.ServerClick += getTable_ServerClick;
testSession.ServerClick += testSession_ServerClick;
testSoap.ServerClick += testSoap_ServerClick;
} void testSoap_ServerClick(object sender, EventArgs e)
{
localhost.Service ws = new localhost.Service();
myHeader head = new myHeader();
head.name = "n1";
head.psw = "p1";
ws.myHeaderValue = head;
TextHeader.Text=ws.TestSoapHeadIn();
} void testSession_ServerClick(object sender, EventArgs e)
{
localhost.Service ws = new localhost.Service();
CookieContainer cookies = new CookieContainer();
ws.CookieContainer = cookies;
for (int i = ; i < ; i++)
{
sessionI.Text+= ws.TestSession();
sessionI.Text += "\r\n";
}
} void getTable_ServerClick(object sender, EventArgs e)
{
TestWS.ServiceSoapClient ws = new TestWS.ServiceSoapClient();
DataTable dt = ws.getTable();
gv.DataSource = dt;
gv.DataBind();
} void btn_Click(object sender, EventArgs e)
{
if (Num1.Text!="" && Num2.Text!="")
{
TestWS.ServiceSoapClient WS = new TestWS.ServiceSoapClient();
int Oper = selectOper.SelectedIndex;
switch (Oper)
{
case :
Result.Text = WS.addition(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
break;
case :
Result.Text = WS.substruct(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
break;
case :
Result.Text = WS.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
break;
case :
Result.Text = WS.division(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
break;
} } } }
学习webservice的更多相关文章
- 学习 WebService 第三步:一个简单的实例(RAD+WAS 8.5开发SOAP项目)
[开发环境] Web Service 服务器端开发工具:RAD(Eclipse内核) Web Service 服务器:IBM WebSphere v8.5 REST/SOAP:SOAP(JAX-WS/ ...
- 学习Webservice之入天气小试
主要方法是:通过程序中设置代理用公司内网访问外部Webservice public InputStream getSoapInputStream(String url) { InputStream i ...
- 学习 WebService 第五步:在Local创建测试用WebService(WSDL)
[准备] Eclipse+Tomcat7(Tomcat端口修改为不冲突的值) axis2 1.7.7 jar包(没有来这里下载:http://www.apache.org/dyn/closer.lua ...
- 学习 WebService 第四步:利用WSDL(URL)生成WebService客户端<初级>
我用的是最简单的方法,利用jdk的命令wsimport -keep -p 包路径 -d 代码存放位置 WSDL网址 蓝色是命令,粉色是存放位置,橘色是URL C:\Program Files\IBM\ ...
- 学习 WebService 第三步:一个简单的实例(SoapUI测试REST项目)
原文地址:SOAPUI测试REST项目(六)——REST服务和WADL ↑↑↑ 原文用的SoapUI,2018-3-19时,这个软件已经更名为ReadyAPI(集成了SoapUI),因此下文中我重新截 ...
- 学习 WebService 第二步:知识准备——SOAP vs REST(wsdl和wadl区别)(转)
原文地址:蓝精灵——默默争上游 笔记: SOAP和REST是两种实现WebService的主要方案(Web API部署REST貌似占了大半壁江山) REST Web Services 基于 HTTP ...
- 学习 WebService 第二步:知识准备——WSDL文件解析
原文地址:https://www.cnblogs.com/yzw23333/p/7245104.html Web service中一个 WSDL 对应一个 web service地址. 可以想象成一个 ...
- 学习 WebService 第一步:体系结构、三元素SOAP/WSDL/UDDI
原文地址:爱军的博客——WebService简介 一.为什么需要Web Service 笔记: WebService 可以实现 跨(硬件.服务器.开发工具.平台.应用程序.程序语言……)共享数据和应用 ...
- 学习Webservice测试
2014-04-01 可用Myeclipse10自带工具生成客户端, 也可用CXF生成,注意,不要用CXF3.0.0milestone,该版本不能生成,请用CXF2.2.8 2015-01-12 下载 ...
随机推荐
- POJ:3320-Jessica's Reading Problem(尺取法)
Jessica's Reading Problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15224 Accepted: ...
- Eclipse+Tomcat7.0+MySQL 连接池设置
http://blog.sina.com.cn/s/blog_85d71fb70101ab99.html 工程名:JavaWeb 第一步:配置server.xml 在Tomcat的server.xml ...
- 17,saltstack高效运维
salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安 ...
- laravel5.5用户认证
目录 1. 命令 2. 快速认证 2.1 自定义路径 2.2 自定义用户名 2.3 自定义看守器 2.4 自定义验证/存储 2.5 Auth::xx() 2.6 保护路由 2.7 指定看守器 3 手动 ...
- 遍历两个自定义列表来实现字典(key:value)
#自定义key ${keys} create list key1 key2 key3 #自定义value ${values} create list v ...
- Ext JS 的一个非常好的学习网站
起飞网 http://www.qeefee.com/zt-extjs 发现一个非常好的学习ExtJS的中文网站
- __PRETTY_FUNCTION__,__func__,__FUNCTION__
今天在看苹果的官方demo的时候,发现这个打印调用方法的参数,很是好奇,遂bing了一番. NSLog(@"----------------%s",__PRETTY_FUNCTIO ...
- ASP.NET Core MVC 运行所选代码生成器时出错
添加Nuget Microsoft.VisualStudio.Web.CodeGeneration.Design Microsoft.EntityFrameworkCore.Tools
- 四、vue派发更新
收集的目的就是为了当我们修改数据的时候,可以对相关的依赖派发更新,那么这一节我们来详细分析这个过程. setter 部分的逻辑: /** * Define a reactive property on ...
- 【bzoj3444】最后的晚餐 并查集
题目描述 n个人排成一排,有m个条件,第i个条件要求ai和bi相邻,求方案数. 输入 输入有m+1行,第一行有两个用空格隔开的正整数n.m,如题所示.接下来的m行,每一行有两个用空格隔开的正整数,第i ...