问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是SOAP?

发布网友 发布时间:2022-05-01 19:45

我来回答

4个回答

懂视网 时间:2022-04-12 14:16

SOAP 1.2 与 GET 请求 SOAP 1.2 带来的变化进一步把 Web 服务编织到 Internet 的大网中。变化之一是 GET 方法的引入。GET 之所以重要是因为它支持各种优化。这一点已经过 Web 自身的验证,它广泛地使用 GET 方法。通过本技巧可以进一步了解这一点。 SOAP 1.0

SOAP 1.2 与 GET 请求

SOAP 1.2 带来的变化进一步把 Web 服务编织到 Internet 的大网中。变化之一是 GET 方法的引入。GET 之所以重要是因为它支持各种优化。这一点已经过 Web 自身的验证,它广泛地使用 GET 方法。通过本技巧可以进一步了解这一点。

SOAP 1.0 发布以来,很多人曾经抱怨它对 HTTP POST 方法的依赖。许多人认为 SOAP 利用了一种流行的协议(HTTP),但一点也没有考虑和理解建立在其上的体系结构。

W3C 主持开发的 1.2 版本解决了这一问题。W3C 曾经在抽象该协议的许多方面花费了大力气,更容易通过各种不同的技术使用该协议。通过修订,SOAP 1.2 除了 HTTP 之外还支持 SMTP,并能更好的利用 HTTP。

关于 POST 方法

POST 有什么问题呢?简而言之,HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的。

在这里,所谓 安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。

比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。

POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。

GET 与 POST 之间的区别并不总是那么严格,也存在一些共性。许多站点在 POST 请求中封装了简单的信息获取,可能是因为开发人员认为这样对他来说更简单。

尽管关于 HTTP 方法的讨论看起来似乎是抽象的和理论性的,但并非如此。浏览器和中介软件(代理、防火墙和内容提交解决方案 laAkamai)根据区分不同请求能力来获得优化的性能(请参阅 参考资料)。

SOAP 结盟 GET

SOAP 最初只支持 POST 请求。Web 服务仍然能够实现上述定义的安全服务。比如,查询订单进展情况的服务既是安全的也是幂等的。根据 HTTP 规范,它应该作为 GET 请求实现。而根据 SOAP 1.0 则必须使用 POST。

SOAP 1.2 引入了消息交换模式(Message Exchange Patterns,MEPs)和一种新的 HTTP 绑定。两者相结合就能实现答复 GET 请求的 Web 服务。MEP 描述了客户和服务器之间的交互模式。SOAP Request-Response MEP 是一种典型的 Web 服务交互:客户向服务器发出请求,服务器应答。

我将在这里进一步考察 SOAP Response MEP。MEP 只定义了一个响应而没有请求。在实践中,这意味着请求已经发出,但不是 SOAP 请求,只有响应是 SOAP。当与新的 HTTP 请求结合时,Response MEP 就可以支持 GET 请求。其工作原理如下:

* 客户发出 GET 请求。它把 Accept 头设为 application/soap+xml ,以便请求一个 SOAP 答复。

* 服务器答复,客户将响应作为正常的 SOAP 响应处理。

服务器通过 Accept 头区分 SOAP 请求和常规的 HTML 请求。客户可以在 Accept 中使用 q 属性设置不同的 content/type 表明自己的参数选择。

根据服务的需要,客户可以通过一般的 URL 编码方法(通常放在 ? 字符后)在 URL 中包含参数。比如,报告服务器场状态的服务可能不需要任何参数。按照定义,它返回当前服务器的状态。相反,报告产品可用性和价格的服务就需要产品标识符(或者名称)作为参数。

现在您可能迷惑客户如何知道调用哪个 URL 以及传递哪个参数,因为请求并不是 SOAP 的一部分。答案很简单:SOAP 服务器应该完成常规 Web 服务器所做的工作,并在上一次交互中包含该 URL。没有什么妨碍 GET 与 POST 的混合与匹配。

作为一个例子,想象一个处理办公用品(笔、纸、剪刀等等)订单的服务。该服务通过 SOAP 接收订单,显然这样的请求既不是安全的也不是幂等的,因此作为 POST 发出。服务器的响应可以包含一个 URL 来跟踪订单的处理过程。跟踪是安全的和幂等的,因此最好通过 GET 来实现。

Web 背后的简单原理已经证明了自身的灵活性与可靠性。作为 Web 服务中最重要的标准之一,SOAP 与这种取得非凡成功的体系结构的更密切结合,这是一种非常积极的进展。

在等待所青睐的工具包升级到 SOAP 1.2 和 WSDL 2.0 之前,先检查一下您的 Web 服务,识别出那些迁移到 GET 绑定时作为首要目标的安全操作。

SOAP 1.2

从编程模型的角度而言,SOAP 1.1 和 SOAP 1.2 之间并没有太多的差异。作为 Java 程序员,您只会在使用处理程序时遇到这些差异,我们将在以后的技巧文章中对如何处理这种情况进行讨论。SAAJ 1.3 已更新以支持 SOAP 1.2。

XML/HTTP

与 SOAP 1.2 的更改类似,从编程模型的角度而言,SOAP/HTTP 和 XML/HTTP 消息之间并没有太多的差异。作为 Java 程序员,您只会在使用处理程序时遇到这些差异,我们将在以后的技巧文章中对如何处理这种情况进行讨论。HTTP 绑定具有自己的处理程序链和自己的一组消息上下文属性。

WS-I Basic Profiles

JAX-RPC 1.1 支持 WS-I Basic Profile (BP) 1.0。从那时起,WS-I 人员就完成了 BP 1.1(以及关联的 AP 1.0 和 SSBP 1.0)的开发。这些新概要阐明了一些小要点,更明确地定义了附件。JAX-WS 2.0 支持这些较新的概要。在大部分情况下,其间的差异并不会影响 Java 编程模型。不过附件除外。WS-I 不仅处理了有关附件的一些问题,而且还定义了自己的 XML 附件类型:wsi:swaRef。

很多人都被这些概要搞糊涂了。为了弄清楚其间的问题,将需要了解一下其相关历史。

WS-I 的第一个基本概要 (BP 1.0) 在阐明各个规范方面做得非常不错,但它并不完美。尤其对 SOAP with Attachments (Sw/A) 的支持仍然相当不明确。在第二个工作循环中,WS-I 人员将附件从基本概要 (BP 1.1) 中分离出来,并对第一版中一些没有讨论的内容进行了补充。当时他们还添加了两个互不包括的基本概要补充文档:AP 1.0 和 SSBP 1.0。AP 1.0 是附件概要 (Attachment Profile),描述如何使用 Sw/A。SSBP 1.0 是简单 SOAP 绑定概要 (Simple SOAP Binding Profile),描述并不支持 Sw/A 的 Web 服务引擎(如 Microsoft 的 .NET)。WS-I 所提供的其他概要文件都是以这些基本概要文件为基础构建的。

Java 5

对 Java 语言进行了一系列更改。JAX-WS 依赖于:Annotation、通用函数和执行程序。我们将在后续的技巧文章中具体讨论 JAX-WS 如何依赖于这个新功能。有关 Java 的这些新功能的信息,请参见参 考资料中的 Java 5 链接。

总结

JAX-WS 2.0 是 JAX-RPC 1.1 的后续版本。其中有些内容保持不变,但大部分编程模型都或多或少有些不同。本技巧文章中介绍的主题将在一系列技巧文章中展开讨论,这个系列的文章对 JAX-WS 和 JAX-RPC 间的区别进行了详细的讨论,我们将在随后的数月中陆续发布。大致看来,可能会因为以下这些原因而决定从 JAX-RPC 迁移到 JAX-WS,或保持不变。

希望继续使用 JAX-RPC 1.1 的原因:

  • 如果您希望继续使用现有的东西,JAX-RPC 将在今后一段时间内继续得到支持。
  • 如果您不希望升级到 Java 5。
  • 如果您希望发送采用 SOAP 编码的消息或创建 RPC/encoded 样式的 WSDL。
  • 升级到 JAX-WS 2.0 的原因:

  • 如果您希望使用新的面向消息的 API。
  • 如果您希望使用 MTOM 发送附件数据。
  • 如果您希望通过 JAXB 更好地支持 XML 模式。
  • 如果您希望在 Web 服务客户机中采用异步编程模型。
  • 如果您需要使用能够处理 SOAP 1.2 消息的客户机或服务。
  • 如果您希望在 Web 服务中消除对 SOAP 的需求,而直接使用 XML/HTTP 绑定。
  • 如果您喜欢使用领先的尖端技术。
  • 热心网友 时间:2022-04-12 11:24

    SOAP(简单对象访问协议)一般指简单对象访问协议(Simple Object Access Protocol)。

    简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

    SOAP历史:

    SOAP是“Simple Object Access Protocol”的缩写。

    最新版本SOAP 1.2版在2003年6月24日成为W3C的推荐版本。

    SOAP由Dave Winer, Don Box,Bob Atkinson, Mohsen Al-Ghosein于1998年设计,当时只作为一种对象访问协议。SOAP规范由 万维网联盟的 XML工作组维护。

    热心网友 时间:2022-04-12 12:42

      【释义一】:
      soap是一个英语单词,可以用作名词和动词,可以翻译为肥皂、肥皂剧,等等。

      【释义二】:
      SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。
      或者更简单地说:SOAP 是用于访问网络服务的协议。

      【释义三】:
      SOAP:滑油光谱分析,根据物质的光谱来鉴别物质及确定它的化学组成和相对含量的方法叫光谱分析。SOAP能够发现没有被滑油滤清器捕获的小粒子,尺寸范围从0.001--0.02mm。这类检测方法常被用在检测发动机内部零件的磨损情况。

    热心网友 时间:2022-04-12 14:16

    7月27日 17:23 登录后才可发送您的答案SOAP(Simple Object Access Protocol)简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
    目前最新以及最流行的技术非XML莫数了,MS的OFFICE2003也发布了,据说也是基于XML开发的,具有很强的扩展性。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    前几天在楼下吃饭,店家推荐使用淘气购支付,听说可以用豆豆换东西。会... 绵阳淘气购科技有限公司怎么样? 四川省淘气购商贸有限公司怎么样? 盐酸洛美沙星分散片的作用 盐酸洛美沙星颗粒的剂量如何根据不同感染情况调整? 盐酸洛美沙星颗粒的化学名是什么? 盐酸洛美沙星胶囊功效 洛美沙星盐酸洛美沙星 洛美沙星的功效与作用 盐酸洛美沙星颗粒能治疗哪些类型的感染? SOAP模式中难度最大的是 潮塑包装设计有什么特别的地方? DM小调和D小调哪种叫法是正确的?还是都可以这样讲? D小调的下属和弦与属和弦是什么? 各个大调和小调的主音分别是什么 D小调音阶要升什么,从哪个音到哪个音 d小调的升do怎么配和弦? d自然小调音阶是什么? d小调音阶是什么? 请问下 升d和声小调音阶?谢谢! 写出 D自然大小调的和弦和名称 F自然大小调的和弦和名称! 求详细 钢琴d小调 D小调的正三和弦有哪几个? 运动裤怎么搭配衣服女 d小调的一级四级五级和弦是什么?d小调的还有属七和弦是什么?求大神帮帮忙? d小调的和弦 钢琴d小调一四五级和弦是什么? 女士运动裤配什么上衣好看 D小调音阶和弦 linux共享内存会不会被编译器优化 液体饮料销往德国,采用塑料瓶和瓦楞纸箱来包装,包装设计应注意哪些问题 soap是什么意思 SOAP是什么 撕拉盖塑料瓶装的口香糖是怎么包装的 什么是SOAP,有哪些应用。 求包装设计软件?纸盒包装、塑料袋包装、玻璃瓶类、饮料瓶类 健康问题的描述通常采用SOAP格式 SOAP和现在流行的API(json格式数据)的区别? 如何在SOAP协议中设置参数风格 详细�0�3 什么是soap,wsdl,uddi soap报文怎么像xml一样格式化输出 怎么调用webservice soap1.2 中药煎剂中后下的药品要不要也需要先浸泡的? 中药中的后下药需要用水泡吗?另外什么时候放入锅中? 中药有后下的药需要提交泡水吗,应该在第一遍出锅前下还是第二遍出锅前下? 中药中的后下药需要用水泡吗 煎中药,浸泡中药的清水要倒掉吗?后下的药材需要浸泡吗? 煎中药时后下药需要用水浸泡吗?后下药是第一次放还是第二次放呢,?请有中医药专业知识的回答? 中药包里面有一个小包,上面写着“后下”怎么处理?要泡吗? 中药后下需要把药浸到药液里吗?