1.什么是webservice?
webservice是一种跨编程语言和跨操作系统平台的远程调用技术。
所谓的远程调用,就是一台计算机a上的一个程序可以调用另一台计算机b上的一个对象的方法,比如:银联提供给商场的pos机刷卡系统。
什么情况下可能用到远程调用技术呢?
例如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA(面向服务体系)应用。
所谓的跨编程语言就是服务端程序采用java语言编写,客户端程序则可以采用其他编程语言编写,反之亦然。
所谓的跨操作系统平台就是服务端程序和客户端程序可以在不同的操作系统平台上运行。
除了webservice外,常用的远程调用技术还有RMI(Remote Method Invoke)和CORBA,由于webservice的跨编程语言和跨平台的特点,因此比其他两种技术应用更为广泛,但性能略低。
2.webservice的调用原理
webservie采用SOAP协议实现跨编程语言和跨操作系统平台。
WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。
WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议(simple object access protocol,简单对象访问协议) 。
SOAP协议 = HTTP协议 + XML数据格式 SOAP协议是基于HTTP协议的,两者的关系就好比高速公路是基于普通公路改造的,在一条公路上加上隔离栏后就成了高速公路。
商店的服务员只要收到了钱就给客户提供货物,商店服务员不用关心客户是什么性质的人,客户也不用关心商店服务员是什么性质的人。同样, WebService客户端只要能使用HTTP协议把遵循某种格式的XML请求数据发送给WebService服务器, WebService服务器再通过HTTP协议返回遵循某种格式的XML结果数据就可以了,WebService客户端与服务器端不用关心对方使用的是什么编程语言。
HTTP协议和XML是被广泛使用的通用技术,各种编程语言对HTTP协议和XML这两种技术都提供了很好的支持,WebService客户端与服务器端使用什么编程语言都可以完成SOAP的功能,所以,WebService很容易实现跨编程语言,跨编程语言自然也就跨了操作系统平台。
3.webservice调用之前的工作
WSDL文件 好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。
WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
WSDL(webservice description language)是基于XML格式的,它是WebService客户端和服务器端都能理解的标准格式,其中描述的信息可以分为what,where,how等部分! WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。
客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址: 注册到UDDI服务器,以便被人查找 直接告诉给客户端调用者,例如,在自己网站给出信息或邮件告诉。
4.webservice的工作过程
5.webservice的开发应用
WebService开发可以分为服务器端开发和客户端开发两个方面: 把公司内部系统的业务方法发布成WebService服务,供远程合作单位和个人调用。(借助一些WebService框架可以很轻松地把自己的业务对象发布成WebService服务,Java方面的典型WebService框架包括:axis,xfire,cxf等,java ee服务器通常也支持发布WebService服务,例如JBoss。这框架应用不是学习的重点,看看相关的技术手册都很轻松地掌握,关键还是要了解WebService的工作原理。)
6.WebService框架的底层实现原理
技术实现原理: 各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。
相关推荐
关于实现WebService的两种形式的简单介绍:Axis2 和 CXF
### WebService:概念与实践详解 #### 一、WebService概览 WebService是一种让应用程序通过网络进行通信的标准方式,尤其在跨平台、跨语言环境中显得尤为关键。它利用一系列的开放互联网协议(如XML、SOAP、WSDL等...
本例子介绍了 Android 调用天气预报的 WebService 的简单例子,使用 KSOAP2 库可以简化 Android 调用天气预报的 WebService 的过程,使得开发者可以更方便地调用 WebService,並获取天气预报信息。
以下是一个简单的实现步骤: 1. **创建服务接口**:定义服务的方法,例如: ```java @WebService public interface HelloWorld { @WebMethod String sayHello(String name); } ``` 2. **实现服务接口**:...
**WebService入门介绍及实例** WebService是一种基于Web的、开放式的标准接口,它允许不同的应用程序之间进行交互和数据交换,跨越了操作系统、编程语言的界限。WebService的核心技术包括XML(可扩展标记语言)、...
本文详细介绍了如何使用C#创建和调用一个简单的WebService。首先确保开发环境符合要求,然后通过Visual Studio创建WebService项目,并将其部署到IIS上。接着创建一个Web应用项目来调用该WebService。通过这种方式,...
在本篇文章中,我们将详细介绍如何通过生成类文件的方式来创建一个简单的 Java WebService 应用程序。这种方式非常适合初学者理解和实践 WebService 的基本概念与工作原理。 #### 二、基础知识回顾 1. **...
### WebService简单示例知识点详解 #### 一、概述 本文档主要介绍如何在Java环境下搭建和使用一个简单的WebService服务。通过本示例,读者能够了解WebService的基本概念、搭建流程及其实现方式。 #### 二、环境...
本实例将介绍如何使用AXIS工具创建和调用一个简单的WebService。 1. **AXIS简介** AXIS是一个开源的Java库,用于生成和部署SOAP(Simple Object Access Protocol)服务。它简化了WebService的开发过程,提供了从...
### WebService 简单实例知识点详解 #### 一、WebService 概述 WebService 是一种新兴的 Web 应用程序分支,它允许不同系统之间进行通信。这些系统可以通过 Internet 使用标准协议(如 HTTP 和 XML)交换数据。...
本示例将详细介绍如何在Winform应用中调用WebService,实现跨平台的数据交换。 一、创建Winform项目 首先,我们需要创建一个Winform项目。在Visual Studio中,选择"新建项目",然后在项目模板中找到"Windows Forms...
**标题:“用XFire开发Webservice简单实例”** 在IT行业中,Web服务是不同系统间进行数据交换和功能调用的重要方式。XFire是Apache软件基金会的一个开源项目,它提供了一个轻量级、高效的框架来创建和消费Web服务。...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同系统之间进行数据交换和功能调用。在这个简单的例子中,我们将探讨Web服务的基本概念、创建过程以及如何使用工具进行测试。以下是对Web服务...
在这个"webservice简单实现demo"中,我们将主要关注SOAP和WSDL。 1. **SOAP**:SOAP是一种轻量级的、基于XML的协议,用于在分布式环境中交换结构化和类型化的信息。SOAP消息通常包含三个部分:Header(头),Body...
接下来,我们将介绍如何在JavaScript中使用Ajax调用WebService: 1. 创建XMLHttpRequest对象:在所有现代浏览器中,都可以通过`new XMLHttpRequest()`创建一个实例。 ```javascript var xhr = new XMLHttpRequest()...
在本文中,我们将详细介绍如何使用 Java 编写简单的 WebService 实例。首先,我们需要了解什么是 WebService,以及如何使用 Java 实现它。 什么是 WebService? WebService 是一种基于网络的分布式系统,可以提供...
本文将详细介绍 Oracle 调用 Webservice 的实现过程,包括 Webservice 的基本概念、 Java 编写简单的 WebService 实例、Oracle 服务器端配置、加载 JAR 包、测试调用 PHP Webservice 和 Java Webservice 等内容。...
例如,创建一个返回字符串的简单服务方法: ```csharp [WebService(Namespace = "http://example.com/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class MyWebService : System.Web....
Eclipse自带的WebService调试工具为开发者提供了一个简单易用的界面来测试和调试WebService,极大提高了工作效率。通过本文的介绍,相信您已经掌握了如何使用这一强大的工具。未来随着Eclipse的不断更新和完善,该...
本教程将详细介绍如何在Idea中实现一个简单的WebService实例。 【描述】:通过Idea实现webservice涉及到的主要步骤包括设置项目、创建服务接口、编写服务实现、部署和测试。下面我们将逐一解析这些步骤: 1. **...