gpt4 book ai didi

java - Android 的 SOAP 1.1、SOAP 1.2、HTTP GET 和 HTTP POST 方法有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 13:14:41 25 4
gpt4 key购买 nike

我正在编写用于 SOAP Web 服务的代码,我想知道 Android 的 SOAP 1.1、SOAP 1.2、HTTP GET 和 HTTP POST 方法的变化,这是其中的首选方法。请站点出其使用 URL 或其代码的示例。

谢谢

最佳答案

SOAP 版本的差异

SOAP 1.1 版和 SOAP 1.2 版都是万维网联盟 (W3C) 标准。可以部署不仅支持 SOAP 1.1 还支持 SOAP 1.2 的 Web 服务。 SOAP 1.1 对 SOAP 1.2 规范所做的一些更改很重要,而其他更改则很小。

SOAP 1.2 规范引入了对 SOAP 1.1 的一些更改。此信息并非旨在深入描述 SOAP 1.1 和 SOAP 1.2 的所有新增或更改功能。相反,这些信息强调了当前 SOAP 版本之间的一些更重要的差异。

对 SOAP 1.2 规范的重大更改包括以下更新:
SOAP 1.1 基于 XML 1.0。 SOAP 1.2 基于 XML 信息集(XML Infoset)。
XML 信息集 (infoset) 提供了一种使用 XSD 模式描述 XML 文档的方法。但是,信息集不一定使用 SOAP 1.1 所基于的 XML 1.0 序列化来序列化文档。这种描述 XML 文档的新方法有助于揭示其他序列化格式,例如二进制协议(protocol)格式。您可以使用二进制协议(protocol)格式将消息压缩为紧凑格式,其中一些详细的标记信息可能不需要。

在 SOAP 1.2 中,您可以使用绑定(bind)到底层协议(protocol)的规范来确定在底层协议(protocol)数据单元中使用哪种 XML 序列化。 SOAP 1.2 - 第 2 部分中指定的 HTTP 绑定(bind)使用 XML 1.0 作为 SOAP 消息信息集的序列化。

SOAP 1.2 提供了正式定义传输协议(protocol)的能力,而不是使用 HTTP,只要供应商符合 SOAP 1.2 中定义的绑定(bind)框架。尽管 HTTP 无处不在,但它不如其他传输(包括 TCP/IP 和 MQ)可靠。
SOAP 1.2 提供了更具体的 SOAP 处理模型定义,消除了在没有 Web 服务互操作性 (WS-I) 概要文件的情况下可能导致互操作性错误的许多歧义。目标是显着降低使用 SOAP 1.2 实现的不同供应商之间出现互操作性问题的可能性。
SOAP with Attachments API for Java (SAAJ) 也可以独立作为一个简单的机制来发出 SOAP 请求。 SAAJ 规范的一个主要变化是能够表示 SOAP 1.1 消息和附加的 SOAP 1.2 格式消息。例如,SAAJ 1.3 版在 SOAP 头元素上引入了一组新的常量和方法,这些常量和方法更有利于 SOAP 1.2(例如 getRole()、getRelay())。 SAAJ 的工厂中还有其他方法可以创建适当的 SOAP 1.1 或 SOAP 1.2 消息。
SOAP 1.2 的信封和编码模式的 XML namespace 已更改。这些更改将 SOAP 处理器与 SOAP 1.1 和 SOAP 1.2 消息区分开来,并支持 SOAP 模式中的更改,而不影响现有实现。
Java Architecture for XML Web Services (JAX-WS) 引入了支持 SOAP 1.1 和 SOAP 1.2 的能力。由于 JAX-RPC 引入了在 SOAP 消息在运行时遍历时对其进行操作的要求,因此需要在其适当的 SOAP 上下文中表示此消息。在 JAX-WS 中,许多额外的增强来自于对 SAAJ 1.3 的支持。

没有针对特定 android 的 difine POST AND GET 方法......但这里有区别

获取
GET 方法将名称/值对附加到 URL,允许您检索资源表示。这样做的一个大问题是 URL 的长度是有限的(大约 3000 个字符),如果页面上的表单中有太多内容,则会导致数据丢失,因此此方法仅在参数数量较少时才有效。

这对我来说意味着什么?基本上,这使得 GET 方法在大多数情况下对大多数开发人员毫无值(value)。这是查看它的另一种方式:如果表单使用大量参数,或者参数包含大量数据,则 URL 可能会被截断(并且很可能会被截断为当今以数据为中心的站点)。此外,在 URL 上传递的参数在浏览器的地址字段中可见 (YIKES!!!) 不是显示任何类型的敏感(甚至非敏感)数据的最佳位置,因为您只是在乞求好奇的用户惹它。

发布
GET 方法的替代方法是 POST 方法。此方法将名称/值对打包在 HTTP 请求的正文中,这使得 URL 更清晰,并且对表单输出没有大小限制,基本上可以毫不费力地使用哪个。 POST 也更安全,但肯定不安全。尽管 HTTP 完全支持 CRUD,但 HTML 4 仅支持通过其各种元素发出 GET 和 POST 请求。这种限制阻碍了 Web 应用程序充分利用 HTTP,为了解决这个问题,大多数应用程序重载 POST 以处理除资源检索之外的所有事情。

Link to original IBM source

关于java - Android 的 SOAP 1.1、SOAP 1.2、HTTP GET 和 HTTP POST 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com