WebService SOAP1.1与SOAP1.12的HTTP POST方式调用

简介: 总的来说,SOAP1.1 和 SOAP1.2 在 HTTP POST 方式调用上的主要区别在于内容类型和 SOAPAction 头部字段。SOAP1.1 使用 "text/xml" 内容类型和必需的 SOAPAction 头部字段,而 SOAP1.2 使用 "application/soap+xml" 内容类型和可选的 "action" 参数。在选择使用哪个版本时,你需要考虑你的具体需求和环境,以及 Web 服务的支持情况。

SOAP,全称为简单对象访问协议,是一种用于交换结构化信息的协议,主要用于实现网络服务。SOAP可以与各种通信协议一起使用,包括 HTTP,SMTP,TCP,UDP等。SOAP1.1 和 SOAP1.2 是该协议的两个主要版本,它们在 HTTP POST 方式调用上有一些不同。

首先,我们来看看 SOAP1.1。在 SOAP1.1 中,HTTP POST 请求的内容类型(Content-Type)通常设置为 "text/xml",并且 SOAPAction 头部字段是必需的。SOAPAction 头部字段用于指示请求的目的,它可以是一个 URI 或者一个空字符串。在 HTTP 请求体中,我们将包含 SOAP 消息,这是一个 XML 文档,包含了 SOAP 包装器,头部(可选)和主体。

然后,我们来看看 SOAP1.2。在 SOAP1.2 中,HTTP POST 请求的内容类型通常设置为 "application/soap+xml",这是一个新的媒体类型,专门用于标识 SOAP 消息。与 SOAP1.1 不同,SOAP1.2 不再需要 SOAPAction 头部字段。相反,它引入了一个新的 "action" 参数,可以作为内容类型头部字段的一部分来提供。这个 "action" 参数是可选的,如果提供,它的值应该是一个 URI,用于指示请求的目的。在 HTTP 请求体中,我们同样将包含 SOAP 消息。

在实际使用中,SOAP1.2 相比 SOAP1.1 有一些优势。首先,SOAP1.2 提供了更好的错误处理机制。在 SOAP1.1 中,所有的错误都返回 HTTP 500 状态码,这使得很难区分是网络问题还是 SOAP 问题。而在 SOAP1.2 中,只有当真正的网络问题发生时,才会返回 HTTP 500 状态码。其次,SOAP1.2 支持更多的数据类型和编码风格,提供了更大的灵活性。最后,SOAP1.2 的规范更加严格和详细,这有助于提高互操作性。

然而,尽管 SOAP1.2 有这些优势,但并不是所有的 Web 服务都支持 SOAP1.2。在实际开发中,你可能需要根据你的需求和环境来选择使用 SOAP1.1 还是 SOAP1.2。

总的来说,SOAP1.1 和 SOAP1.2 在 HTTP POST 方式调用上的主要区别在于内容类型和 SOAPAction 头部字段。SOAP1.1 使用 "text/xml" 内容类型和必需的 SOAPAction 头部字段,而 SOAP1.2 使用 "application/soap+xml" 内容类型和可选的 "action" 参数。在选择使用哪个版本时,你需要考虑你的具体需求和环境,以及 Web 服务的支持情况。

目录
打赏
0
25
25
1
454
分享
相关文章
|
12月前
|
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
438 2
loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西。比较久之前很简单的用过,最近又用到了,熟悉一下。现做一个总结。 使用loadrunner进行压力测试主要分两步,第一步是编写脚本(比较重点),第二步执行测试(配置都是在界面上点点就行了,当然我只的是比较简单的,能满足日常需要的),第三步分析结果(这一步比较高深,但是对于我来说能看懂简单的性能指标就OK了)。
1310 0
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍。 1.概述 bboss提供cxf webservice(基于cxf 2.7.6),hessian(基于4.0.7),http(基于bboss mvc)三种服务的一次性便捷发布机制。
955 0
通过wsdl2java工具生成客户端段代码(wsdl2java -p cn.com.css.misps.graph.webservice.impl -d F:\src -all http://10.)
首先当前是从官网下载cxf组件. Java代码 http://cxf.apache.org/download.html  http://cxf.apache.org/download.html 下载后解压,在这里主要是用到解压后的bin目录中的wsdl2java.bat该批处理文件. 可以直接进入bin目下,运行wsdl2java,需要注意的他
1883 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname 0bin=cdbin;pwd`STATE_OK=...
1082 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
hbase从集群中有8台regionserver服务器,已稳定运行了5个多月,8月15号,发现集群中4个datanode进程死了,经查原因是内存 outofMemory了(因为这几台机器上部署了spark,给spark开的...
848 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等