【旧文】web service与axis(一)

一、web服务简介

1. 概念

web服务(web service)是一类可以从Internet上获取的服务的总称,它使用标准的XML消息接发系统,并且不受任何操作系统和编程语言的约束,为异构的和不兼容的系统间提供互操作的能力。

web服务通过HTTP、SOAP、XML、WSDL、UDDI等标准协议提供了将异构的、松耦合的应用程序集成在一起的办法。

当前大部分的web应用都是以人为中心,提供人与机器(应用)间的通讯;与此不同,web服务以应用程序为中心,提供应用程序间的直接会话。

2. 相关名词

SOAP(Simple Object Access Protocol):简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。简单的说,SOAP就是一种基于XML的、用于在计算机之间交换信息的协议。

WSDL(Web Service Description Language):web服务描述语言是为web服务指定公共接口的XML语法。公共接口包括所有共用功能的信息、所有XML消息的数据类型、所有特定传输协议的绑定信息和定位特定服务的地址信息。

UDDI(Universal Description, Discovery, and Integration):统一描述、发现和集成是一个描述、发现和连接web服务的技术规范。有了UDDI,公司不但可以发布web服务,还能查找web服务。

3. web服务角色

在web服务体系结构中共有三个主要的角色:

Ø         服务提供者:web服务的提供者,任务是实现服务并在Internet上提供这个服务。

Ø         服务请求者:web服务的消费者。web服务请求者通过打开一个网络连接并发送XML请求来使用已有的web服务。

Ø         服务注册中心:这是一个逻辑上集中式的服务目录。注册中心提供一个集中的地方,供开发者发布新服务或寻找已有服务。因此,它是公司及其服务的集中交换场所。

一般说来,在服务注册中心发布的都是一些提供通用功能的web服务,而我们跟合作伙伴通过web服务传输数据,多是针对具体项目和应用的,并不需要到服务注册中心注册。

4. WSDL简介

WSDL是一种规范,它定义了如何用共同的XML语法描述Web服务。WSDL描述了四种关键的数据:

Ø         描述所有公用函数的接口信息;

Ø         描述消息请求和消息响应的数据类型信息;

Ø         所使用的传输协议的绑定信息;

Ø         用来定位指定服务的地址信息;

由于在web服务客户端的开发中,WSDL文档起着非常重要的作用,需要对WSDL有一个大概的了解。

WSDL规范分为六个主要的元素:

definitions

    definitions元素必须是所有WSDL文档的根元素。它定义web服务的名称,声明文档其他部分使用的多个名称空间,并包含所有的元素。

types

    types元素描述在客户端和服务器之间使用的所有数据类型。WSDL默认以XML Schema规范作为绑定的类型系统。如果服务只用到了如字符型或整型等XML Schema内置的简单类型,就不需要types元素。

message

    message元素描述一个单向消息,无论是单一的消息请求还是单一的消息响应,都有描述。message元素可以包含零个或多个part元素,在请求消息中,part元素指定请求参数,在响应消息中,part元素指定函数返回值。

portType

    portType元素结合多个message元素,形成一个完整的单向或往返操作。最普遍的是将一个请求消息和一个响应消息结合在一起,形成一个在SOAP服务中普遍使用的单一的请求/响应操作。

binding

    binding元素提供有关portType操作如何通过Internet实际传递的细节。绑定可以通过HTTP GET、HTTP POST或SOAP等多个传输协议实现,最普遍的是通过SOAP实现。

service

    service元素定义调用指定服务的地址。一般包含调用SOAP服务的URL。

WSDL规范参考图:

 

 

<definitions>:WSDL根元素

 

 

<types>:传输哪种类型的数据?

 

 

<message>:传输什么消息?

 

 

<portType>:支持什么操作(功能)?

 

 

<binding>:如何通过Internet传输消息?

          有什么SOAP特定的细节?

 

 

<service>:服务在哪里?

 

二、axis简介

axis是Apache组织推出的SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。axis项目是Apache组织著名的SOAP项目的后继项目,目前使用java开发的最新版本是1.4,可以从http://apache.justdn.org/ws/axis/1_4/ 下载;Axis C++1.5也已经开发完成。

但Axis并不完全是一个SOAP引擎,它还包括:

Ø         是一个独立的SOAP服务器。

Ø         是一个嵌入Servlet引擎(例如Tomcat)的服务器。

Ø         支持WSDL。

Ø         提供转化WSDL为Java类的工具。

Ø         提供例子程序。

Ø         提供TCP/IP数据包监视工具。

三、axis安装配置

1. 安装

应用Axis开发Web Services,你需要安装如下软件:

Ø         JDK1.4.2

Ø         一个支持Servlet的服务器引擎,比如Tomcat,我们假定使用Tomcat作为服务器引擎。

当安装好Tomcat之后,只需将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下即可。

2. 测试

启动Tomcat,访问http://localhost:8090/axis/happyaxis.jsp ,会看到“Axis Happiness Page”页面;

在这个页面中,axis会判断需要的所有jar包是否完全具备,如果缺少某些jar包,会指示你到合适的网址下载。

把下载的jar包放在%CATALINA_HOME%\webapps\axis\ WEB-INF\lib下,重复上面的步骤,直到所需要的jar包都完全具备。

3. 配置

axis测试通过后,为了以后开发上的方便,使用前需要配置一系列的系统变量,需要配置的系统变量如下表所示(假定你已经安装好Tomcat,并配置好了CATALINA_HOME):

Ø         AXIS_HOME:%CATALINA_HOME%\webapps\axis

Ø         AXIS_LIB:%AXIS_HOME%\lib

Ø         CLASSPATH 中加入% AXIS_LIB %下的各个jar包

(未完待续……)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值