是什么?

是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关。也可以说是提供了许多函数。客户端调用服务端的函数。

远程调用:客户端通过SOAP协议,传送函数参数数据,向服务端请求调用一个函数,函数在服务器端执行,返回一个结果,结果再通过协议传送到客户端,完成 一次远程调用。

跨语言:服务端提供的函数是C++编写,客户端使用的语言是Java,怎么有点像DLL呢?

使用的标准:

WSDL:Web Service Description Language Web服务描述语言,基本于XML的语言。描述函数的参数和返回值等函数信息的语言。客户端调用请求时,调用服务器哪个函数呢?传递的参数是什么呢?这些信息就是用XML语言格式来描述的。

WSDL文件:是服务器端提供服务使用的,这个文件是以XML格式写的,内容翻译成人能理解的语言就是,服务器端提供了哪些函数,这些函数在哪个服务中,这个服务又是在哪个IP,这些函数怎么调用,函数有哪些参数,函数的返回值。   文件保存在服务器上,通过URL能访问它。服务器把WSDL文件地址告诉客户端,在UDDI(服务注册中心)上注册就OK。

UDDI:提供了一种方法,这种方法能够让服务消费者得到服务提供者提供的接口使用说明。

SOAP: = Http + XML;基于HTTP协议。这个协议的作用就是  封装数据(XML)+发送数据(HTTP);

工作原理:

客户端请求调用服务端函数,以XML格式封装,通过HTTP发送到服务端,服务端得到数据后分析XML格式的数据,分析数据并知道调用哪个类的哪个方法,执行方法,把执行函数得到的结果再以XML格式封装,再以HTTP发送到客户端。总体来说,通过SOAP发送数据。

技术使用双方:服务提供者和服务消费者。服务提供者编写函数与类(也就是编写服务),让消费者调用;消费者调用函数和类。

搭建技术支持需要的工具:

Tomcat:前端与HTTP及网络挂钩,得到其他机器发来的的数据,把数据发送到服务容器(也就是处理数据的程序AXIS等)。

AXIS:把从Tomcat得到的数据处理一下,处理过程是,找配置文件并根据配置文件和数据来得到要调用哪个类的哪个函数,并执行函数,得到返回值,再把返回值传给Tomcat,传给Tomcat前数据要封装为SOAP消息。

在VS2010中创建Web Service并使用:

1、创建Web Service

2、发布Web Service服务

3、客户端使用Web Service提供的类,及其函数

第一步:创建Web Service

VS2010中新建空的asp.net网站,在“解决方案资源管理器---项目”上右键添加新项:

添加Web服务:

在asmx文件中编写类和方法,作为提供的服务内容。

第二步:布置服务,就像布置IIS站点一样

第三步:客户端使用Web Service,以asp.net网站为例,也可以由WinForm应用程序来引用服务

新建一个Web网站,在解决方案资源管理器----项目上右键添加服务引用:

如果如下:

客户端应用程序中出现代码:并且会在应用程序目录下生成文件夹和文件。

在应用程序的代码中引用空间、使用类用其中的方法

添加命名空间:using ServiceReference1; 这个命名空间是在引用Web服务时自己命名的。

使用类:WebServiceSoapClient wssc = new WebServiceSoapClient();不管服务器端提供的是什么类名,客户端总是用这个类WebServiceSoapClient ,难道是代理?一个中介的东西?用对象wssc来调用WebService提供的各种方法。

web service 学习的更多相关文章

  1. Web Service学习笔记:动态调用WebService

    原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...

  2. Web Service学习笔记(webservice、soap、wsdl、jws详细分析)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  3. Web Service学习文旦下载

    Web Service的学习暂且告一段落,因为毕竟只是对它作简要了解,至于其原理什么并不打算涉及. 在这里我提供下我之前文档的整理版本: http://kuai.xunlei.com/d/YlzvAG ...

  4. Web Service学习笔记

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  5. Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  6. Java Restful Web Service 学习指南

    Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...

  7. Web Service学习小结(概念性回忆)-希望你们会喜欢

    Web Service的出现带来了很多系统工程直接相互的调用.无疑让代码的隐藏得到了好的封装. Web  Service 它的主要的组成要素: SOAP:(Simple Object Access P ...

  8. Web Service学习之八:Soap消息详解

    一.区别概念 WSDL是网络服务描述语言,是XML文档:它包含一系列描述某个web service的定义或者说是规则.尤其是定义了传输Sope消息的结构 Soap:简单对象访问协议,是交换数据的一种协 ...

  9. Web Service学习之六:CXF解决无法处理的数据类型

    CXF不能够处理像Map复杂的数据类型,需要单独转换处理. 总体思路:创建一个转换器和一个对应的可以处理的数据结构类型,将不能处理的类型转换成可以处理的类型: 步骤: 一.创建一个可以处理的类型 举例 ...

随机推荐

  1. LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)

    LVM 类型的 Storage Pool 不仅一个文件可以分配给客户机作为虚拟磁盘,宿主机上 VG 中的 LV 也可以作为虚拟磁盘分配给虚拟机使用. 不过,LV 由于没有磁盘的 MBR 引导记录,不能 ...

  2. Si2155

    http://www.edom.com.tw/cn/index.jsp?m=prodview&id=1702 Description:新型的Si2155 电视调谐器IC扩展了Silicon L ...

  3. [django]Django的css、image和js静态文件生产环境配置

    前言:在Django中HTML文件如果采用外联的方式引入css,js文件或者image图片,一般采用<link rel="stylesheet" href="../ ...

  4. 从人类社会的角度看OO(独家视角)

    引言 在OO的工作中,我们一定会涉及到类,抽象类和接口.那么类和抽象类以及接口到底扮演的什么角色? 本文主要是从人类社会的角度阐述类与抽象类以及接口的"社会"关系,从而让我们抛弃书 ...

  5. 2016.10.30 NOIP模拟赛 day2 AM 整理

    题目+数据:链接:http://pan.baidu.com/s/1gfBg4h1 密码:ho7o 总共得了:130分, 1:100分  2:30分(只会这30分的暴力) 3:0(毫无思路) 虽然不高, ...

  6. 项目<<魔兽登录系统>>

    创建魔兽系统相关窗体: 登录窗体(frmLogin) 注册窗体(frmRegister) 主窗体   (frmMain) 实现魔兽登录系统: 登录的界面如下 实现思路: 1.创建一个对象数组,长度为1 ...

  7. 3942: [Usaco2015 Feb]Censoring [KMP]

    3942: [Usaco2015 Feb]Censoring Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 375  Solved: 206[Subm ...

  8. AVA数据库连接池.

    package db_pool; //// 一个效果非常不错的JAVA数据库连接池.// from:http://www.jxer.com/home/?uid-195-action-viewspace ...

  9. 20145215&20145307信息安全系统设计基础实验报告

    20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...

  10. 【跟着子迟品 underscore】常用类型判断以及一些有用的工具方法

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...