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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是javabean及其用法

    什么是javabean及其用法一、什么是JavaBean  JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。javaBean范例:1packagegacl.javabean.study;23/**4…

    2022年7月17日
  • 使用idea进行activiti工作流开发[通俗易懂]

    使用idea进行activiti工作流开发[通俗易懂]使用idea进行activiti工作流开发emmm…….因为工作需要,所以要学习activiti工作流,初次学习,写个博客记录一下,下次再用就知道大概流程了。1、安装插件在idea里面,activiti的插件叫actiBPM,在插件库里面把它安装好,重启idea就行了。2、新建一个maven项目,并更改pom.xml。pom中依赖如下:&lt;dependen…

    2022年10月5日
  • LLDP协议、STP协议 笔记

    LLDP协议、STP协议 笔记参考:数据链路层学习之LLDP生成树协议LLDP协议、STP协议笔记LLDP提出背景:随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。L…

    2022年6月2日
  • 各国手机号码正则

    各国手机号码正则’ar-DZ’:/^(\+?213|0)(5|6|7)\d{8}$/,’ar-SY’:/^(!?(\+?963)|0)?9\d{8}$/,’ar-SA’:/^(!?(\+?966)|0)?5\d{8}$/,’en-US’:/^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/,’cs-CZ’:/^(\+?420)??[1-9][0-9]{2}?[0-9]{3}?[0-9]{3}$/,’de-DE’:/^(\+?4…

    2022年5月29日
  • 浅谈 C/S 和 B/S 架构

    浅谈 C/S 和 B/S 架构

    2021年9月20日
  • Jquery选中的radio行变色

    Jquery选中的radio行变色

    2021年8月23日

发表回复

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

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