WebService的三要素:SOAP、WSDL和UDDI。soap用来描述传递信息的格式,wsdl描述如何访问具体的接口,uddi管理、分发查询WebService。

1、SOAP

SOAP Simple Object Access Protocol简单对象访问协议,是一种简单轻量的交换数据的规范。

soap也是基于xml的文档,包括Envelope、header、body等元素。它定义了一个框架,用来描述消息的内容。

如何查看?

我们可以通过工具来了解SOAP的传送数据方式。

1)在MyEclipse中打开web Service Explorer

2)输入已经发布的服务地址,如图:

3)可以看到之前的add和minus方法,输入参数,执行。

我们可以看到,SOAP的request和response的文档都是xml格式的,而且都符合上面介绍的规范。

2、wsdl

大家都知道WebService可以实现跨平台的可互操作性,它的描述语言wsdl,使得我们更方便的协调工作,传递消息和数据。

wsdl Web Services Description Language 网络服务描述语言,以xml的格式在WebService中用来描述一个服务的信息。下图是wsdl的基本内容结构:

具体实例可参考:【WebService】——入门实例

是由xml编写的,主要分两部分:抽象定义和具体描述。基本元素有type、message、part、operation、binding、service等。

1)definition

wsdl的根元素,一般包含若干个xml命名空间。targetNamespace

2)Message

属于抽象定义内容,有一个或多个Part(消息参数)组成。

例如:

上篇博客创建的服务中,我们提供了add()方法,可以看到wsdl中的元素信息。

3)Operation

对服务支持的操作进行的抽象描述,简单的说,一般可以理解成服务中提供的具体方法。

input  输入信息,

output 输出信息

4)Service

相关端口的集合,http://localhost:5554/service/访问地址。

5)types、binding、portType

wsdl还有一些元素很重要,但平时的开发中可能接触并不多。

types  使用的数据类型

binding 通信协议

portType 指出该WebService支持的操作(方法)。

3、UDDI

Universal Description Discovery and Integration 通用描述、发现和集成服务

最开始就介绍到它是可以实现查询、管理WebService的,下图描述了UDDI在web服务协议栈中所处的位置。

小结:

最开始接触WebService的时候,只是在用它,并没有去学习它的原理。现在一点点深入的了解中,再次学习了RPC、xml中的DTD和schema、SOAP消息机制。

【WebService】——SOAP、WSDL和UDDI的更多相关文章

  1. WebService SOAP WSDL UDDI 使用php的curl、PHP5的SoapClient实现同步

    一.基本名词 WebService: WebService是一种跨编程语言和跨操作系统平台的远程调用技术.不同系统,不同语言的数据交换方法都是不同的,这就导致在不同系统,不同语言之间传递数据很麻烦,基 ...

  2. webservice SOAP WSDL UDDI简介

    WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含 ...

  3. 彻底理解webservice SOAP WSDL

    WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含 ...

  4. 【🉐】 彻底理解webservice SOAP WSDL

    原文: http://wenku.baidu.com/view/f87b55f19e31433239689314.html WebServices简介 先给出一个概念 SOA ,即Service Or ...

  5. webservice soap wsdl简介

    先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型, 架构 ...

  6. [Java] webservice soap,wsdl 例子

    java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和 ...

  7. Webservice soap wsdl区别之个人见解

    原文:http://blog.csdn.net/pautcher_0/article/details/6798351 Web Service实现业务诉求:Web Service是真正“办事”的那个,提 ...

  8. 理解WebService SOAP WSDL

    WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含 ...

  9. (文摘)彻底理解webservice SOAP WSDL

    WebServices特点介绍 WebServices 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开 ...

  10. SOAP、WSDL、 UDDI之间的关系

    SOAP(Simple Object Access Protocol) 简单对象访问协议: WSDL(Web Services Description Language) Web服务描述语言: UDD ...

随机推荐

  1. 构建vue零散笔记

    # vue项目(用webpack构建)的前提是已安装了node.js,vue,vue-cli,webpack # 主要命令构建:vue init webpack 项目名(纯英文,且不可驼峰)运行:np ...

  2. [SDOI2008]仪仗队(欧拉筛裸题)

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如右图 ...

  3. bootstrap模态框传值操作

    1.bootstrap模态框之html代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"& ...

  4. 使用Python对SQLite数据库操作

    SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成. Python内 ...

  5. Docker 运行MangoDB

    1.Docker运行MangoDB镜像 #创建挂载目录 cd /opt/docker_cfg mkdir -vp mongo/db #获取mongodb镜像 [root@localhost xiaog ...

  6. Modify the apache2 default document and home page on ubuntu (ubuntu下修改apache2默认目录和默认主页)

    Change the apache2 default website directory As we know, The apache2 default directory at /var/www/, ...

  7. 转:深入理解jvm

    深入理解JVM 原文链接:http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals 每个使用Java的开发者都知道Java ...

  8. 14.2 multiprocessing--多线程

    本模块提供了多进程进行共同协同工作的功能.由于Python存在GIL锁,对于多线程来说,这只是部分代码可以使用多CPU的优势,对于想全部使用多CPU的性能,让每一个任务都充分地使用CPU,那么使用多进 ...

  9. jquery获取周对应的日期

    项目中用到按周显示的功能,找了一个,然后自己修改了一下,留着以后用: 这是代码,要是直接显示的话就把第43行去掉就行了,如果想要得到数据按照自己的想法重新渲染就保留43行,直接看51行,52行就是你要 ...

  10. scala成长之路(6)函数入门

    众所周知,scala作为一门极客型的函数式编程语言,支持的特性包括: 函数拥有“一等公民”身份: 支持匿名函数(函数字面量) 支持高阶函数 支持闭包 部分应用函数 柯里化 首先需要指出,在scala中 ...