客户端测试页:

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. kivy学习二:做一个查询所在地区身份证前6位的小软件

    经过半个月的尝试,终于成功,记录下来备查! 做完之后发现有很多的问题没有解决,请大佬多批评指教! 强烈建议:学习KIVY的查看官方文档 需要用的知识: 1.字典的相关知识 2.kivy的下拉列表(Dr ...

  2. C++基础 inline 默认参数 函数占位参数 函数重载

    1. inline内联函数 内联函数用于替换宏, 实例: 其中宏和 ++ 连用有副作用. #include "iostream" using namespace std; #def ...

  3. Android+Handler+Thread 那些事儿

    前言,才开始学安卓十几天,不料被线程挡住了前进的步伐,因为之前操作系统课程并没有认真听老师讲课,导致现在理解这些抽象的东西有些小困难.没关系,苦学之路,总会碰到坎坷,这里也给那些迷失在Android之 ...

  4. 关于 JS 模块化的最佳实践总结

    模块化开发是 JS 项目开发中的必备技能,它如同面向对象.设计模式一样,可以兼顾提升软件项目的可维护性和开发效率. 模块之间通常以全局对象维系通讯.在小游戏中,GameGlobal 是全局对象.在小程 ...

  5. Java语言基础---变量与数据类型

    变量的作用域 java用一对大括号“{}”作为语句块的范围,称为作用域.作用域中的变量不能重复定义:离开作用域,变量所分配的内存空间将被JVM所收回. 基本数据类型的包装类 java为基础数据类型提供 ...

  6. Eclipse 安装(Neon 版本2016年)---Eclipse教程第01课

    Eclipse 最新版本 Eclipse Neon,这个首次鼓励用户使用 Eclipse Installer 来做安装,这是一种由Eclipse Oomph提供的新技术,它通过提供一个很小的安装器来使 ...

  7. Python+Selenium框架设计篇之-什么是POM

    前面我们介绍了Python中的单元测试框架unittest,以后我们所有的测试类文件,都采用unittest来辅助我们进行debug和脚本开发.搞定了debug机制和确定了unittest来进行创建和 ...

  8. CS/BS架构的特点

    CS架构 优点: 1.有独立的客户端,安全性高 2.大部分业务都在客户端实现,可以实现很复杂的业务 缺点: 1.对环境要求高,需要安装客户端,推广速度慢 2.需要专门前后台的开发团队,维护成本高 B/ ...

  9. jekens介绍及服务搭建

    https://blog.csdn.net/achuo/article/details/51086599 https://blog.csdn.net/qq_37372007/article/detai ...

  10. Docker私有仓库Harbor部署与使用

    一.harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 由下面几个组件组成: proxy:nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载 ...