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


相关推荐

  • Linux移植一_linux从零开始移植

    Linux移植一_linux从零开始移植Linux移植一本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.现在手上有两个开发板,一个是tiny6410,一个是OK6410-A.tiny6410上跑的是linux2.6.38,支持alsa,uboot支持yaffs2系统以及从sd卡启动linux,并且移植了qte的库.而ok6410上跑的是linux2.6.36,没有

    2022年9月15日
    0
  • Maven工具安装

    Maven工具安装

    2021年6月3日
    94
  • pycharmdjango项目实战_django项目实例精解

    pycharmdjango项目实战_django项目实例精解创建项目我们创建django项目有两种方式,命令行方式和使用pycharm工具创建,本文就介绍常用的pycharm工具创建首先点击django,输入项目的名称,选择创建好的虚拟环境,最后点击cre

    2022年7月29日
    3
  • springboot集成了哪些框架_redis java客户端

    springboot集成了哪些框架_redis java客户端Springboot集成Redis添加Redis依赖<depency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!–连接池–>

    2022年9月22日
    0
  • java socket详解_Java Socket 编程原理及教程「建议收藏」

    java socket详解_Java Socket 编程原理及教程「建议收藏」原标题:JavaSocket编程原理及教程对于JavaSocket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通…

    2022年10月18日
    0
  • 用python来开发webgame服务端(1)[通俗易懂]

    用python来开发webgame服务端(1)[通俗易懂]http://ciniao.me/article.php?id=9 刺鸟原创文章,转载请注明出处    在开始之前,先简单描述一下项目的特点:我要实现的是一个mmorpg的webgame,地图上需要看到其他的玩家,战斗系统采用半回合制的模式,所谓的半回合制,即是:采用回合制的画面布局,友方和敌方分列左右,但是战斗的中途,其他的玩家可以及时的随时插入这场战斗。当然,作为一款rpgGa

    2022年5月30日
    47

发表回复

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

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