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消息机制。

最新文章

  1. iOS7——UIControlEventTouchDown延迟响应问题
  2. MD5编码
  3. cocoapods 更新失败 bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
  4. [BeiJing2010组队][BZOJ 1977]次小生成树 Tree
  5. Groovy获取json和xml数据
  6. [cocos2d-js]按钮整合成大图后打APK后不显示
  7. 企业级搜索引擎Solr 第三章 索引数据(Indexing Data)[2]--DIH
  8. 高难度(3)RenderScript
  9. ORACLE-修改当前会话的语言环境
  10. JS中escape 方法和C#中的对应
  11. 10_Segue Example
  12. T-SQL基础(7) - 透视,逆透视和分组集
  13. vue2.0 练习项目-外卖APP(1)
  14. kubernets helm 如何删除tiller
  15. ERP项目实施记录11-产品工艺流程图及单据关联图
  16. 如何在jsp中引入bootstrap
  17. Python学习笔记-数字类型
  18. Impala Apache Hadoop 安装方法
  19. java中的byte
  20. 10个相见恨晚的 Java 在线练手项目

热门文章

  1. 20181009noip HZ EZ 两校联考trade(优先队列,贪心)
  2. 小A点菜
  3. C++调用WMI类查询获取操作系统名
  4. Markdown基本使用
  5. Python栈的学习资料
  6. python学习之路2(程序的控制结构)
  7. Ruby字符串的一些方法
  8. struts2官方 中文教程 系列十三:利用通配符选择方法
  9. P1886 滑动窗口(单调队列)
  10. MySQL server has gone away 错误处理