【WebService】——SOAP、WSDL和UDDI[通俗易懂]

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

【正版授权,激活自己账号】:

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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


1、SOAP   

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

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

【WebService】——SOAP、WSDL和UDDI[通俗易懂]

如何查看?

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

1)在MyEclipse中打开web Service Explorer

【WebService】——SOAP、WSDL和UDDI[通俗易懂]


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

【WebService】——SOAP、WSDL和UDDI[通俗易懂]


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

【WebService】——SOAP、WSDL和UDDI[通俗易懂]

【WebService】——SOAP、WSDL和UDDI[通俗易懂]


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


2、wsdl     

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

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

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

【WebService】——SOAP、WSDL和UDDI[通俗易懂]

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


1)definition

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

2)Message

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

例如:

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



【WebService】——SOAP、WSDL和UDDI[通俗易懂]

3)Operation

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

input  输入信息,

output 输出信息


【WebService】——SOAP、WSDL和UDDI[通俗易懂]

4)Service

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


【WebService】——SOAP、WSDL和UDDI[通俗易懂]

5)types、binding、portType

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

types  使用的数据类型

binding 通信协议

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


3、UDDI

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

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

【WebService】——SOAP、WSDL和UDDI[通俗易懂]

小结:

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164083.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字长为32位的计算机是指_微机的字长是4个字节

    字长为32位的计算机是指_微机的字长是4个字节2019-07-1932位计算机中,一个字长等于32位,一个字节是8位,所以从长度来说一个字长等于4个字节。字长简介:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。字长:一般说来,计算机在同一时间内处理的一组二进制数称为一个计算机的“字”…

    2022年9月1日
    4
  • 网页500错误怎么解决_系统报500错误解决方法

    网页500错误怎么解决_系统报500错误解决方法1.问题描述2.问题解决3.HTTP请求代码1.问题描述1.使用http方式请求对方服务器,返回JSON格式数据2.由于是测试环境,网段不是同一个,对方服务器网段做了代理,我们能ping通,也能telnet3.使用浏览器访问能正常返回JSON格式数据4.用代码解析http请求一直报500错误,对方觉得是我们代码问题,但是我们用代码解析公网上的一些请求是正常的;而且…

    2022年8月12日
    10
  • powerdesigner导入sql生成表_oracle导入sql

    powerdesigner导入sql生成表_oracle导入sql在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL问题,非常影响我们建表的效率。本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。1、以oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。…

    2025年10月7日
    6
  • linux内核编译过程的最终总结版

    linux内核编译过程的最终总结版一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。二、实验内容在Linux操作系统环境下重新编译内核。实验主要内容:A.查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。B.配置内核。C.编译内核和模块。D.配置启动文件。本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码(2…

    2022年7月23日
    16
  • cocos2d-x for android:士兵听我的命令移动

    cocos2d-x for android:士兵听我的命令移动

    2021年8月20日
    63
  • js删除数组中的一个元素_js数组包含某个元素

    js删除数组中的一个元素_js数组包含某个元素目录第一种:删除最后一个元素pop删除slice删除splice删除for删除length删除第二种:删除第一个元素shift删除slice删除splice删除第三种:删除数组中某个指定下标的元素splice删除for删除第四种:删除数组中某个指定元素splice删除filter删除forEach、m…

    2022年10月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号