soap12 soap11的区别

SOAP 1.1与SOAP 1.2的主要区别解析
SOAP是一种基于XML的轻量级协议,用于在分布式环境中交换结构化信息。SOAP 1.2规范相对于1.1版有显著改进,包括基于XML信息集、更明确的处理模型、支持更多传输协议等。SOAP 1.2的Content-Type为"application/soap+xml",不使用SOAPAction头,且命名空间不同。这些改变提高了互操作性和灵活性。
部署运行你感兴趣的模型镜像

背景

1、SOAP:

什么是SOAP
SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。

SOAP版本之间的差别

SOAP V1.1 和 SOAP V1.2 都是万维网联盟 (W3C) 标准。可以部署不但支持 SOAP 1.1, 而且支持 SOAP 1.2 的 Web Service。从 SOAP 1.0 到 SOAP 1.2 规范所做的一些更改很重要,而其他更改则不太重要。

SOAP 1.2 规范中包含对 SOAP 1.1 的一些更改。本文着重于 SOAP 的当前版本之间的重要差别。

对 SOAP 1.2 规范所做的重要更改包括下列更新:
  • SOAP 1.1 基于 XML 1.0。SOAP 1.2 基于 XML 信息集。

    XML 信息集提供使用 XSD 模式描述 XML 文档的方法。然而,信息集并不一定使用 SOAP 1.1 所基于的 XML 1.0 序列化来序列化该文档。这种描述 XML 文档的新方法有助于显示其他序列化格式,例如二进制协议格式。可以使用二进制协议来将消息压缩成某一可能不需要某些详细标记信息的压缩格式。

    在 SOAP 1.2 中,可以使用绑定至底层协议的规范确定在底层协议数据单元中使用的 XML 序列化。[SOAP 1.2 - Part 2] 中指定的 HTTP 绑定使用 XML 1.0 作为 SOAP 消息信息集的序列化。

  • 只要供应商遵从 SOAP 1.2 中定义的绑定框架,SOAP 1.2 就能够提供正式定义传输协议(而不是使用 HTTP)的功能。虽然 HTTP 普遍存在,但它没有其他传输协议(包括 TCP/IP 和 MQ)可靠。
  • SOAP 1.2 更明确地定义了 SOAP 处理模型,该模型中除去了许多在缺少 Web Service 互操作性 (WS-I) 概要文件的情况下可能会导致互操作性错误的二义性。其目标是极大地减少使用 SOAP 1.2 实现的不同供应商之间出现互操作性问题的机会。
  • “带附件的 SOAP Java™ API” (SAAJ) 还可以作为一种发出 SOAP 请求的简单机制独立出来。对 SAAJ 规范所做的主要更改是能够表示 SOAP 1.1 消息和其他 SOAP 1.2 格式化消息。例如,SAAJ V1.3 在 SOAP 头元素上引入了一组更有助于 SOAP 1.2 的新常量和方法(如 getRole() 和 getRelay())。工厂中还有其他方法供 SAAJ 使用以创建适当的 SOAP 1.1 或 SOAP 1.2 消息。
  • 对于 SOAP 1.2,包络和编码模式的 XML 名称空间已更改。这些更改使 SOAP 处理器能够区分 SOAP 1.1 与 SOAP 1.2 消息,并支持 SOAP 模式中的更改,而不会影响现有实现。
  • “针对 XML Web Service 的 Java 体系结构”(JAX-WS) 引入了同时支持 SOAP 1.1 和 SOAP 1.2 的功能。因为 JAX-RPC 要求在运行时遍历 SOAP 消息时处理该消息,所以需要在其相应 SOAP 上下文中表示该消息。在 JAX-WS 中,由于支持 SAAJ 1.3 而产生了许多其他增强功能。
  • Web 服务描述语言 (WSDL) V1.1 规范不讨论 SOAP 1.2。SOAP 1.2 在 WSDL 2.0 草稿版中讨论。WSDL 1.1 仅定义如何在 WSDL 1.1 文档中呈示 SOAP 1.1 有效内容。要解决如何表示基于 SOAP 1.2 的服务这一问题,有另一个 W3C 文档,它定义如何在 WSDL 1.1 文档中定义 SOAP 1.2 有效内容。有关 SOAP 1.2,请阅读 WSDL 1.1 绑定扩展。
  • SOAP 1.1 是单个文档。SOAP 1.2 规范分为以下几部分:
    • Part 0 是 SOAP 非标准简介。
    • Part 1 描述 SOAP 消息的结构、SOAP 处理模型和用于将 SOAP 绑定至底层协议的框架。一致性 SOAP 实现必须实现 Part 1 中的所有内容。
    • Part 2 描述 SOAP 核心的可选加载件,其中包括数据模型和编码、RPC 约定以及至 HTTP 的绑定。一致性 SOAP 实现可实现 Part 2 中的所有加载件。然而,如果实现了这些加载件,那么这些加载件必须符合规范的相关部分。
    第四个文档是规范声明和测试集合

2、SOAP1.2的改进

SOAP的最新版本是1.2,它澄清、更新并纠正了SOAP版本1.1的部分缺陷。1.1版本是在2000年5月8日发布的一个文档中描述的。但是,该版本包含大量互操作性问题以及歧义,导致最终的解释出现差异。
SOAP 1.2提供了一个更严密、更可靠的规范集合,它基于对协议和XML序列化方案进行绑定的一个抽象模型。

SOAP 1.2 对语法进行了许多更改,并且提供了 SOAP 1.1 中所描述的语义的附加的、已明确的语义。“SOAP 1.2 入门”文档列示并描述了这些语法更改。



3、SOAP 1.1 规范仅规范化了一种用于 HTTP 的协议绑定(由于 HTTP 的广泛使用)。而在 SOAP 1.2 中是 application/soap+xml,能更好低支持WS相关协议。

看下SOAP的request的格式:

SOAP 1.1 request:

POST /WSShakespeare.asmx HTTP/1.1 
Host: www.xmlme.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "http://xmlme.com/WebServices/GetSpeech" 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
  <soap:Body> 
    <GetSpeech xmlns="http://xmlme.com/WebServices"> 
      <Request>string</Request> 
    </GetSpeech> 
  </soap:Body> 
</soap:Envelope>

SOAP 1.2 request:

POST /WSShakespeare.asmx HTTP/1.1 
Host: www.xmlme.com 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
  <soap12:Body> 
    <GetSpeech xmlns="http://xmlme.com/WebServices"> 
      <Request>string</Request> 
    </GetSpeech> 
  </soap12:Body> 
</soap12:Envelope>


格式的不同:

  • SOAP 1.2 uses “application/soap+xml” as Content-Type and SOAP 1.1 uses “text/xml”.
  • SOAP 1.2 does not use SOAPAction header line.
  • SOAP 1.2 uses “http://www.w3.org/2003/05/soap-envelope” as the envolope namespace and SOAP 1.1 uses “http://schemas.xmlsoap.org/soap/envelope/”


参考:

http://stackoverflow.com/questions/8588309/what-is-the-difference-between-soap-1-1-soap-1-2-http-get-http-post-methods

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

http://www.w3.org/TR/soap/

http://www-01.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rovr_specs.html%23rovr_specs__webservices?cp=SSAW57_7.0.0%2F2-0-0-2&lang=zh


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### SOP与SOAP区别 在IT领域中,SOP和SOAP分别代表不同的概念和技术规范。尽管两者名称相似,但它们的用途、应用场景及技术实现存在显著差异。 #### SOP(Service-Oriented Protocol) SOP通常不是一种具体的协议,而是指面向服务架构(SOA)中的一类通用服务调用模式或流程。它强调的是如何通过标准化的接口进行服务之间的交互,尤其是在企业内部系统集成过程中。SOP更偏向于业务流程的定义和执行,而非数据交换格式本身。例如,在某些上下文中,SOP可以指代“Standard Operating Procedure”,即标准操作程序,用于描述特定服务调用的步骤和规则 [^4]。 #### SOAP(Simple Object Access Protocol) SOAP是一种基于XML的数据交换协议规范,广泛应用于Web服务开发中。其核心目标是提供一种标准化的方式,用于在分布式环境中交换结构化信息。SOAP消息本质上是一个XML文档,包含Envelope、Header、Body和Fault等部分,支持多种传输协议如HTTP、SMTP等。SOAP因其标准化、安全性和事务支持能力,适用于企业级系统集成、跨平台通信以及需要高可靠性的场景 [^2]。 #### 主要区别 | 特性 | SOP | SOAP | |------|-----|------| | **定义** | 通常指服务调用的标准流程或协议,也可能指标准操作程序 | 一种基于XML的通信协议,用于在分布式环境中交换结构化信息 | | **用途** | 更多用于业务流程定义和执行 | 数据交换协议,用于Web服务之间的通信 | | **数据格式** | 不限定,可能使用JSON、XML或其他格式 | 使用XML作为数据格式 | | **传输协议** | 不限 | 支持HTTP、SMTP等多种传输协议 | | **标准化程度** | 标准化程度较低,依赖具体实现 | 高度标准化,有明确的规范文档 | | **应用场景** | 企业内部流程管理、服务调用流程定义 | Web服务开发、跨平台通信、企业级系统集成 | #### 示例代码:SOAP请求示例 一个典型的SOAP请求示例: ```xml <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="http://example.com/ns"> <soap:Header/> <soap:Body> <ns:GetData> <!--Optional:--> <ns:request>Sample Request</ns:request> </ns:GetData> </soap:Body> </soap:Envelope> ``` 该请求通过HTTP POST方法发送到服务器端点,服务器解析并执行相应操作后,将结果封装为另一个SOAP响应消息返回给客户端 [^1]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值