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复杂的数据类型,需要单独转换处理. 总体思路:创建一个转换器和一个对应的可以处理的数据结构类型,将不能处理的类型转换成可以处理的类型: 步骤: 一.创建一个可以处理的类型 举例 ...
随机推荐
- SQLSERVER中正则表达式封装使用
封装好的正则表达式供SQLSERVER调用 打开数据库->可编程性->函数->标量值函数->新建标量值函数名 USE [数据库]GOSET ANSI_NULLS ONGOSET ...
- Windows下Apache + PHP SESSION丢失的惨痛经历
今天的工作是迁移一个PHP站点至新服务器. 创建一台Windows Server 2008虚拟机,并在其上停掉net stop http服务(避免争抢80端口),安装配置 Apache + PHP,迁 ...
- ANDROID 系统提示对话框(ALERTDIALOG)的使用
new AlertDialog.Builder(baseActivity).setTitle("删除确认")//设置对话框标题 .setMessage("您确定要删除选中 ...
- 对 Visual Studio 中的Resharper禁用对某种文件的检测
原因:在Visual Studio中安装Reshaper后,就会对各种文件进行代码检测,但是因为Reshaper更新的速度不是很及时,所以有时会对Visual Studio中某些新功能误断,导致Cod ...
- 每天一个linux命令(2):cd命令
1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [root@localhost ~]# cd ...
- JAVA类的静态加载和动态加载以及NoClassDefFoundError和ClassNotFoundException
我们都知道Java初始化一个类的时候可以用new 操作符来初始化, 也可通过Class.forName()的方式来得到一个Class类型的实例,然后通过这个Class类型的实例的newInstance ...
- httpclient进行basic auth认证
private HttpClientContext context = HttpClientContext.create(); public void addUserOAuth(String user ...
- AC日记——寻找道路 洛谷 P2296
题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条 ...
- ubuntu 14.04 ns2.35 ***buffer overflow detected **: ns terminated解决办法
1.按照如下教程安装 Install With Me !: How to Install NS-2.35 in Ubuntu-13.10 / 14.04 (in 4 easy steps) 2.运行一 ...
- win7 装了VB虚拟机 开始挺好用 后来突然就打不开了 提示如下错误:(如图)创建 COM 对象失败.
创建 COM 对象失败. 应用程序将被中断. Start tag expected, '<' not found. Location: 'C:\Users\Mike/.VirtualBox\Vi ...