web service 学习
是什么?
是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关。也可以说是提供了许多函数。客户端调用服务端的函数。
远程调用:客户端通过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 学习的更多相关文章
- Web Service学习笔记:动态调用WebService
原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析)
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- Web Service学习文旦下载
Web Service的学习暂且告一段落,因为毕竟只是对它作简要了解,至于其原理什么并不打算涉及. 在这里我提供下我之前文档的整理版本: http://kuai.xunlei.com/d/YlzvAG ...
- Web Service学习笔记
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- Java Restful Web Service 学习指南
Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...
- Web Service学习小结(概念性回忆)-希望你们会喜欢
Web Service的出现带来了很多系统工程直接相互的调用.无疑让代码的隐藏得到了好的封装. Web Service 它的主要的组成要素: SOAP:(Simple Object Access P ...
- Web Service学习之八:Soap消息详解
一.区别概念 WSDL是网络服务描述语言,是XML文档:它包含一系列描述某个web service的定义或者说是规则.尤其是定义了传输Sope消息的结构 Soap:简单对象访问协议,是交换数据的一种协 ...
- Web Service学习之六:CXF解决无法处理的数据类型
CXF不能够处理像Map复杂的数据类型,需要单独转换处理. 总体思路:创建一个转换器和一个对应的可以处理的数据结构类型,将不能处理的类型转换成可以处理的类型: 步骤: 一.创建一个可以处理的类型 举例 ...
随机推荐
- JavaScript中知而不全的this
都说 JavaScript 是一种很灵活的语言,这其实也可以说它是一个混乱的语言.它把 函数式编程和 面向对象编程糅合一起,再加上 动态语言特性,简直强大无比(其实是不能和C++比的,^_^ ). 这 ...
- ubuntu下怎么给普通用户赋予sudo权限
ununtu系统安装过程中,系统会提示建立一个默认用户,比如用户名为:zhuhui.这个默认用户具有一定的管理功能,即可以通过sudo命令执行root权限的操作.由于Ubuntu系统默认不允许通过ro ...
- maven archetype生成自定义项目原型(模板)
maven archetype可以将一个项目做成项目原型,之后只需要以此原型来创建项目,那么初始创建的项目便具有原型项目中的一切配置和代码.通俗讲就是一个项目模板. eclipse中那些快速生成mav ...
- 三维网格补洞算法(Poisson Method)
下面介绍一种基于Poisson方程的三角网格补洞方法.该算法首先需要根据孔洞边界生成一个初始化补洞网格,然后通过法向估算和Poisson方程来修正补洞网格中三角面片的几何形状,使其能够适应并与周围的原 ...
- JSP 错题
(选择一项) 8 A: B: C: D: 正确答案是 D 您回答的是 A 回答错误 试题分析:web容器处理JSP文件请求的三个阶段翻译阶段:这一个阶段,编写好的jsp文件首先被web容器中的 ...
- [No000088]并行循环vs普通循环
using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks ...
- JSHint配置项说明
转自:http://www.jianshu.com/p/4cb23f9e19d3 什么是JSHint? 官方网站这样介绍: JSHint, A Static Code Analysis Tool fo ...
- codevs 1536 海战
时间限制: 1 s 空间限制: 256000 KB 题目等级 : 白银 Silver 题目描述 Description 在峰会期间,武装部队得处于高度戒备.警察将监视每一条大街,军队将保卫建筑物, ...
- JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...
- C#基础系列——委托和设计模式(二)
前言:前篇 C#基础系列——委托实现简单设计模式 简单介绍了下委托的定义及简单用法.这篇打算从设计模式的角度去解析下委托的使用.我们知道使用委托可以实现对象行为(方法)的动态绑定,从而提高设计的灵活性 ...