WebServcie基础知识

Web Service 出现的原因是实现业务接口层之间的分离,以及服务接口和调用的标准化。

 Web service 是一种使用WSDL(web service Description Language)作为描述手段的远程应用,它遵循由WS-I Basic Profile1.1定义的规则,可以使用SOAP对其进行访问。

XML Schema:目的类似于DTD,他们都是用于检验XML的文档结构(正确的顺序和结构)。

XML Schema 支持20多种简单数据类型。

XML Namespace:为了在不同环境中重用标记语言(将两个或多个XML标记语言结合到一个XML文档中,需要明确标志每个元素所属的标记语言)。
XML Namespace声明使用如下格式:
xmlns:prefix="URI"
URI(Universal Resource Identifier)作为一种标志符,
是URL(Universal Resource Locator)的一个超集。

schemaLocation提供了一组Namespace-Location的值对。值对中的前一个值是XML Namespace 的URI;后一个值

则是XML Schema的物理位置(URL).下列schemaLocation属性声明了:所有属于Reservation名字空间

(http://www.titan.com/Reservation)的元素都可以使用位于http://www.titan.com/schemas/reservation.xsd

的XML Schema进行验证:xsi:schemaLocation="http://www.titan.com/Reservation
http://www.titan.com/schemas/reservation.xsd">

习惯上,我们用xsi作为XML Schema Instance名字空间的前缀。

SOAP1.1

SOAP1.1是一个简单的分布式对象协议,它与其他分布式对象协议(DCOM、CORBA的IIOP,RMI)最为主要的区别在于SOAP1.1是基于XML的。

SOAP有自己的 XML Schema定义,并大量依赖于XML Namespace的使用。

SOAP的主要目的是建立一个标准的XML框架,用于打包在不同软件平台之间进行交换的应用数据
SOAP消息具有网络协议无关的特点。但主要使用HTTP协议进行消息交换
使用HTTP的另一优势在于,SOAP消息可以毫无阻拦的穿透防火墙。

要与任意客户端进行通信,除了使用HTTP或SMTP(E-mail),别无他法。


在EJB3.0中,用于交换SOAP消息的API被称为Java API for XML-based Web Service(JAX-WS),他隐藏了SOAP消息

的细节。这样开发人员就可以专注于开发和调用web service了。使用JAX-WS时,你很少会与SOAP协议打交道,

这样可以极大地提高生成效率。

Web service样式
SOAP消息是Document/Literal的:指明了消息正文是一份XML Schema的实例文档。
受WS-I Basic Profile1.1允许,以及EJB3.0支持的另一种样式是RPC/Literal:指明了SOAP消息是一个带有参数

和返回值的RPC调用,每个参数及返回值都有各自的schema类型。

WSDL1.1(Web Service Description Language)
xsd是XML Schema的名字空间
WSDL是一种用来描述web service 的XML文档。他与编程语言、平台和协议无关。这使它极具灵活性,但也非常

抽象难于理解。

元素作用:
<!--message元素描述参数和返回值-->
<!--portType元素描述web service抽象接口-->

JAX-WS及EJB3.0支持两种风格的web service消息:request-response和one-way。
request-response特征:<operation>元素包含一个<input>元素,后跟一个<output>,然后是一个或多个<fault>

元素。
one-way特征:只有一个<input>元素而没有<output>或<fault>。
one-way式一般用于异步发送:发送一条消息,但不一定有响应。此外常被用于传送XML文档。而非参数和返回值

WSDL也支持另外两种消息风格:notification(仅有<output>没有<input>)和solicitation(一个<output>后跟一

个<input>)。不过,这两种消息风格仅在WSDL中存在,他们不受WS-I Basic Profile1.1 或 JAX-RPC的支持。

<!--binding元素告诉我们所用的协议和编码规则-->
<!--service元素告诉我们所用web service的Internet地址-->
<!--types元素描述XML复杂数据类型-->

UDDI 2.0(Universal Description,Discovery,and Integration)是一种规范,它定义了在互联网上发布和寻找

web service的标准。事实上,它是一个有着严格数据结构的web service仓库,其中数据结构所描述的内容包括

公司机构及其所提供的web service.与XML、SOAP、WSDL不同,UDDI并非web service的基础。但是在Java EE中

,它被认为是web service的一个基本要素。
UDDI是一个电子目录。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值