Webservice服务创建、调用笔记

引言  

  以前使用windows服务,于是学习并记录下来:windows服务的创建、安装、调试全过程及引发的后续学习。现如今需要用到webservice,对此感觉到很困惑。经过几天的学习、查阅资料,终于大致搞清如何运用,至于它的根本原理,暂时还不能完全理解,以后有机会再详细研究吧。

定义:  

  webservice是一个平台独立的,低耦合,自包含的、基于可编程可编程的应用程序,可使用开放的xml标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。(百度定义)

  Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如的xml、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

  个人理解:webservice是一个独立的平台,是用xml来描述的,可以帮组不同平台下的系统建立数据交互机制。比如:在一个很庞大的asp.net网站上创建一个webservice,公司内部的其他部门开发的系统需要引用网站的一些数据,那么在网站上面创建一个webservice,其他系统直接添加web服务即可调用网站上的一个数据或者是方法等等。

创建一个简单的webservice:

讲述碰到的第一个小问题:本人使用的visual studio2010,在新建项目时找不到web服务?

直接选择.net4.0,可以选择创建asp.net空模板,然后添加新项选择web服务模板即可。此方法最简单。还有:选择.net2.0,,3.0,3.5,就可以选择webservice模板了,之后需要.net4.0新特性,在项目属性窗口或者页窗口的Build选项卡中选择.net4.0即可。

新建一个空的asp.net项目,添加webservice页面,编写:

namespace FirstWebservice
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </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 WebService1 : System.Web.Services.WebService
    {
        [WebMethod(Description = "求和的方法")]
        public double addition(double i, double j)
        {
            return i + j;
        }
        [WebMethod(Description = "求差的方法")]
        public double subtract(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 != 0)
                return i / j;
            else
                return 0;
        }
    }
}

至此创建了一个webservice,里面包含加减乘除4个方法。

Asp.net调用webservice:

下面创建一个asp.net项目调用webservice:

首先引用webservice,将服务的网站网址加入服务引用即可。

编写调用的方法:

protected void Button1_Click(object sender, EventArgs e)
        {
            string selectFlag = selectOper.Value;
            ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();          

            if (selectFlag.Equals("+"))
            {
                Result.Text = (web.addition(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
            }
            else if (selectFlag.Equals("-"))
            {
                Result.Text = (web.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
            }
            else if (selectFlag.Equals("*"))
            {
                Result.Text = (web.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
            }
            else if (selectFlag.Equals("/"))
            {
                Result.Text = (web.division(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
            }
        }

Winform调用webservice:

既然上面在介绍webservice时说了其是夸平台的,那么创建一个winform系统调用webservice。同样先添加webservice,

private void button1_Click(object sender, EventArgs e)
        {
            ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();
            this.txt3.Text = (web.multiplication(double.Parse(this.txt1.Text), double.Parse(this.txt2.Text))).ToString();
        }

可以看出winform的调用和asp.net调用基本是相同的。

总结:

  上文简单描述了webservice的基本认识,接着创建了一个相当简单的webservice,然后创建一个asp.net项目和winform系统对它进行调用,所有一切基本上完成了webservice的使用过程。大家平时看到的更高级的webservice,或者可以说是更为复杂的webservice吧,这些都是在最简单的webservice基础上增加的一些很复杂的业务逻辑,抽丝剥茧后还是基本的webservice应用。

时间: 2024-10-06 04:54:33

Webservice服务创建、调用笔记的相关文章

C#调用WebService服务(动态调用)

原文:C#调用WebService服务(动态调用) 1 创建WebService using System; using System.Web.Services; namespace WebService1 { /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/", Description="测试服务")] [

Java创建WebService服务及客户端实现(转)

简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto.com/art/200908/147125.htm,不同的语言平台对WebService都有实现,Java的WebService实现,比较流行的有Axis2.Jaxws,本文介绍的是Axis2. Axis2下载和部署 Axis2是Apache开发的一个开源项目,再次感叹Apache的伟大! 下载地址

Java创建WebService服务及客户端实现

简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto.com/art/200908/147125.htm,不同的语言平台对WebService都有实现,Java的WebService实现,比较流行的有Axis2.Jaxws,本文介绍的是Axis2. Axis2下载和部署 Axis2是Apache开发的一个开源项目,再次感叹Apache的伟大! 下载地址

WebService自己创建服务或调用第三方webservice服务

一,自己创建webservice服务 首先创建一个项目,目录结构如下 HelloService.java 文件如下 package com.joydo.cn; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class HelloService {   public String getValue(String name){   return  "我的名字叫"+name;    

WebService学习总结(四)——调用第三方提供的webService服务

WebService学习总结(四)——调用第三方提供的webService服务 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).一. 调用

WebService学习总结(4)——第三方webService服务调用

互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client). 一. 调用免费的web service获取天气预报信息 1.1.找到提供天气预报信息的W

【转】【WebService】.NET C# 创建WebService服务

Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互的格式. 2.跨平台性,因为使用XML所以只要本地应用可以连接网络解析XML就可以实现数据交换,比如安卓.IOS.WindowsPhone等都可以实现对Web service的数据交互. 3.基于HTTP协议,直接跨越防火墙,通用型强: 下面使用Visual Studio 2013(其他VS版本亦是

学习调用第三方的WebService服务

互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明. 首先安利一个网站,提供了很多实用的WebService服务: http://www.webxml.com.cn/zh_cn/index.aspx 从首页可以看到很多常用的服务,这里我们选择 国内手机号码归属地查询 点击进入我们可以看到该服务提供的两个API 查看WebService的wsdl描述信息,点击服务

构建基于CXF的WebService服务(2)-- 利用CXF提供的wsdl2java工具创建客户端

1.环境配置 将CXF_HOME/bin加入到环境变量path中,如我的是D:\Java\Jar\apache-cxf-2.7.7\bin 打开cmd输入 wsdl2java -v 出现如下信息表示配置成功 2.wsdl2java的使用 (1)创建一个"Java Project"项目,暂且命名为client,将CXF用到的jar包引入进来,去掉jetty相关包,加入geronimo-jaxws_2.2_spec-1.1.jar包 (2)打开命令行工具,将目录切换到client项目中的s