客户端测试页:

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的更多相关文章

  1. 学习 WebService 第三步:一个简单的实例(RAD+WAS 8.5开发SOAP项目)

    [开发环境] Web Service 服务器端开发工具:RAD(Eclipse内核) Web Service 服务器:IBM WebSphere v8.5 REST/SOAP:SOAP(JAX-WS/ ...

  2. 学习Webservice之入天气小试

    主要方法是:通过程序中设置代理用公司内网访问外部Webservice public InputStream getSoapInputStream(String url) { InputStream i ...

  3. 学习 WebService 第五步:在Local创建测试用WebService(WSDL)

    [准备] Eclipse+Tomcat7(Tomcat端口修改为不冲突的值) axis2 1.7.7 jar包(没有来这里下载:http://www.apache.org/dyn/closer.lua ...

  4. 学习 WebService 第四步:利用WSDL(URL)生成WebService客户端<初级>

    我用的是最简单的方法,利用jdk的命令wsimport -keep -p 包路径 -d 代码存放位置 WSDL网址 蓝色是命令,粉色是存放位置,橘色是URL C:\Program Files\IBM\ ...

  5. 学习 WebService 第三步:一个简单的实例(SoapUI测试REST项目)

    原文地址:SOAPUI测试REST项目(六)——REST服务和WADL ↑↑↑ 原文用的SoapUI,2018-3-19时,这个软件已经更名为ReadyAPI(集成了SoapUI),因此下文中我重新截 ...

  6. 学习 WebService 第二步:知识准备——SOAP vs REST(wsdl和wadl区别)(转)

    原文地址:蓝精灵——默默争上游 笔记: SOAP和REST是两种实现WebService的主要方案(Web API部署REST貌似占了大半壁江山) REST Web Services 基于 HTTP ...

  7. 学习 WebService 第二步:知识准备——WSDL文件解析

    原文地址:https://www.cnblogs.com/yzw23333/p/7245104.html Web service中一个 WSDL 对应一个 web service地址. 可以想象成一个 ...

  8. 学习 WebService 第一步:体系结构、三元素SOAP/WSDL/UDDI

    原文地址:爱军的博客——WebService简介 一.为什么需要Web Service 笔记: WebService 可以实现 跨(硬件.服务器.开发工具.平台.应用程序.程序语言……)共享数据和应用 ...

  9. 学习Webservice测试

    2014-04-01 可用Myeclipse10自带工具生成客户端, 也可用CXF生成,注意,不要用CXF3.0.0milestone,该版本不能生成,请用CXF2.2.8 2015-01-12 下载 ...

随机推荐

  1. lan口和wan口的配置

    路由器的一排网线接口,分为 lan 和 wan .但不是谁生来就是lan口 或者 wan口 . 也没有谁规定就一个wan口 就只有一个. 网口就是网口, 决定它是 lan口 还是 wan口 ,是由我们 ...

  2. 20145202马超 《Java程序设计》第三周学习总结

    ************************http://git.oschina.net/tuolemi/java这是git的那个网址********************* 函数的重载:在同一 ...

  3. 16.2,docker网络

      Docker 允许通过外部访问容器或容器互联的方式来提供网络服务. 端口映射允许外部访问容器 --link 容器互联 容器桥接网络 .通过--link容器通信,给test2添加一个hosts解析记 ...

  4. Java-数据结构之二叉树练习

    本来这个随笔应该在4月17号就应该发出来的.不巧的是,那天晚上收到了offer,然后接下去两天为入职到处跑,20号入职后一直忙,直到最近几天才有时间看看书.然而20多天前就看完的了二叉树,然后17号那 ...

  5. ElasticSearch学习笔记(三)-- 查询

    1. URISearch详解与演示 2. QueryDSL简介 3. 字段类查询简介及match-query 4. 相关性算分 5. match-phrase-query 6. query-strin ...

  6. luogu4196 [CQOI2006]凸多边形 半平面交

    据说pkusc出了好几年半平面交了,我也来水一发 ref #include <algorithm> #include <iostream> #include <cstdi ...

  7. Erlang中atom的实现[转]

    转自: http://www.cnblogs.com/zhengsyao/p/3424539.html 在 Erlang 中,使用 atom 既方便又高效,我们就来看看 atom 是怎么实现的.ato ...

  8. 【Adaptive Boosting】林轩田机器学习技法

    首先用一个形象的例子来说明AdaBoost的过程: 1. 每次产生一个弱的分类器,把本轮错的样本增加权重丢入下一轮 2. 下一轮对上一轮分错的样本再加重学习,获得另一个弱分类器 经过T轮之后,学得了T ...

  9. shell之echo and printf

    #!/bin/sh _________echo___________#read name #echo "$name It is a test" #read命令从标准的输入中读取一行 ...

  10. os--留

    os.path.abspath(path) #返回绝对路径    绝对路径和文件路径的区别,绝对路径是当前在操作文本的路径,文件路径是当前文本的文件的路径 os.path.basename(path) ...