SOAP协议详解「建议收藏」

SOAP协议详解「建议收藏」一.概念:SOAP:简单对象访问协议,是交换数据的一种协议规范,它是一个轻量级\简单的\基于xml的协议;它被设计成在WEB上交换结构化的和固化的信息。二.相关定义1.基于类对象的传输协议;2.SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;3.SOAP编码规则(encodingrules),它定义了一种序列化机制,用

大家好,又见面了,我是你们的朋友全栈君。

一.概念:

SOAP:简单对象访问协议,是交换数据的一种协议规范,它是一个轻量级\简单的\基于xml的协议;它被设计成在WEB上交换结构化的和固化的信息。

二.相关定义

1.基于类对象的传输协议;
2.SOAP封装(envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;
3.SOAP编码规则(encoding rules),它定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例;
4.SOAP RPC表示(RPC representation),它定了一个协定,用于表示远程过程调用和应答;
5.SOAP绑定(binding),它定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。

三.语法规则

1.基本结构
一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
● 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
● 可选的 Header 元素,包含头部信息
● 必需的 Body 元素,包含所有的调用和响应信息
● 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
2.语法规则
● SOAP 消息必须用 XML 来编码
● SOAP 消息必须使用 SOAP Envelope 命名空间
● SOAP 消息必须使用 SOAP Encoding 命名空间
● SOAP 消息不能包含 DTD 引用
● SOAP 消息不能包含 XML 处理指令
3.消息基本结构示例

<?xml  version="1.0"?>
    <soap:Envelope
     xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
 soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
        <soap:Header>
        </soap:Header>
     <soap:Body>
        <soap:Fault>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

四.优点

1.可扩展的;
2.简单的;
3.完全与厂商无关;
4.与编程语言无关;
5.与平台无关;

五.SOAP消息解析
请参考 http://www.cnblogs.com/ding0910/p/3547911.html

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

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

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


相关推荐

  • 如何安装GCC

    如何安装GCC现在的CentOs8上没有自带的gcc编译器因此需要下载(注意:这里的下载是指在虚拟机中下载,不是指在电脑上下载)若运行gcc时出现appstream下载元数据失败则表明没有安装gcc。1首先需要获得root权限****在终端模式下输入su,按下回车输入密码即可(注意这里的输入密码无显示)2检查虚拟机是否联网(当然要先确保电脑已联网)3检查网络是否正常输入pingwww….

    2022年5月9日
    345
  • 魔兽世界WOW服务器端的模拟器【2010】[通俗易懂]

    记不清从什么时候开始,国内出现了很多所谓的魔兽世界私服网站,而且在淘宝上还有什么魔兽世界单机版在出售,其实这些东西都是利用国外的一些开源软件如MaNGOS和ArcEmu来实现的。一、MaNGOS http://getmangos.com/MaNGOS不是一个魔兽私服模拟器(wowemu),它是一个开源的自由软件项目,是用c++和C#编程语言实现的一个支持大型多人在线角色扮演游戏服务

    2022年4月15日
    266
  • 1200多套微信小程序源码-史上最全的不同行业的源码集合[通俗易懂]

    1200多套微信小程序源码-史上最全的不同行业的源码集合[通俗易懂]史上最全小游戏分类,需要的自行下载:下载链接在最后面!o2o行业| -盒马鲜生| -轻客洗衣互联网行业| -云文档| -仿ofo共享单车| -仿美团外卖| -仿饿了么| -灵犀外卖交友互动| -小契约(交友互动小程序)| -信息科技公司展示小程序| -华云智慧园区| -房地产公司展示企业应用| -企业OA系统小程序优惠券卡卷| -…

    2022年5月7日
    114
  • Java程序设计(基础)- 数据类型

    Java程序设计(基础)- 数据类型

    2021年7月21日
    44
  • ubuntu20.04安装opencv_ubuntu opencv安装

    ubuntu20.04安装opencv_ubuntu opencv安装更新源 sudo apt update 安装相关包 sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjasper 报错:无法定位到 libj…

    2022年8月18日
    9
  • java8 小技巧保证分组groupingBy后排序不变

    java8 小技巧保证分组groupingBy后排序不变问题:遇到一个小问题,查询出来一组数据后,按照其中的属性进行groupBy分组,分组后要保证顺序不变。排查首先去api中查找解决//一个参数publicstatic<T,K>Collector<T,?,Map<K,List<T>>>groupingBy(Function<?superT,?ex…

    2022年8月21日
    11

发表回复

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

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