- 浏览: 139699 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
SOAP Version 1.2 has a number of changes in syntax and provides additional (or clarified) semantics from those described in [SOAP 1.1]. The following is a list of features where the two specifications differ. The purpose of this list is to provide the reader with a quick and easily accessible summary of the differences between the two specifications. The features have been put in categories purely for ease of reference, and in some cases, an item might equally well have been placed in another category.
Document structure
The SOAP 1.2 specifications have been provided in two parts. [SOAP Part1] provides an abstract Infoset-based definition of the SOAP message structure, a processing model and an underlying protocol binding framework, while [SOAP Part2] provides serialization rules for conveying that infoset as well as a particular HTTP binding.
SOAP 1.2 will not spell out the acronym.
SOAP 1.2 has been rewritten in terms of XML infosets, and not as serializations of the form <?xml....?> required by SOAP 1.1.
Additional or changed syntax
SOAP 1.2 does not permit any element after the body. The SOAP 1.1 schema definition allowed for such a possibility, but the textual description is silent about it.
SOAP 1.2 does not allow the env:encodingStyle attribute to appear on the SOAP env:Envelope, whereas SOAP 1.1 allows it to appear on any element. SOAP 1.2 specifies specific elements where this attribute may be used.
SOAP 1.2 defines the new env:NotUnderstood header element for conveying information on a mandatory header block which could not be processed, as indicated by the presence of an env:MustUnderstand fault code. SOAP 1.1 provided the fault code, but no details on its use.
In the SOAP 1.2 infoset-based description, the env:mustUnderstand attribute in header elements takes the (logical) value "true" or "false", whereas in SOAP 1.1 they are the literal value "1" or "0" respectively.
SOAP 1.2 provides a new fault code DataEncodingUnknown.
The various namespaces defined by the two protocols are of course different.
SOAP 1.2 replaces the attribute env:actor with env:role but with essentially the same semantics.
SOAP 1.2 defines a new attribute, env:relay, for header blocks to indicate if unprocessed header blocks should be forwarded.
SOAP 1.2 defines two new roles, "none" and "ultimateReceiver", together with a more detailed processing model on how these behave.
SOAP 1.2 has removed the "dot" notation for fault codes, which are now simply an XML Qualified Name, where the namespace prefix is the SOAP envelope namespace.
SOAP 1.2 replaces "client" and "server" fault codes with "Sender" and "Receiver".
SOAP 1.2 uses the element names env:Code and env:Reason, respectively, for what used to be called faultcode and faultstring in SOAP 1.1. SOAP 1.2 also allows multiple env:Text child elements of env:Reason qualified by xml:lang to allow multiple language versions of the fault reason.
SOAP 1.2 provides a hierarchical structure for the mandatory SOAP env:Code sub-element in the env:Fault element, and introduces two new optional subelements, env:Node and env:Role.
SOAP 1.2 removes the distinction that was present in SOAP 1.1 between header and body faults as indicated by the presence of the env:Details element in env:Fault. In SOAP 1.2, the presence of the env:Details element has no significance as to which part of the fault SOAP message was processed.
SOAP 1.2 uses XML Base [XML Base] for determining a base URI for relative URI references whereas SOAP 1.1 is silent about the matter.
SOAP HTTP binding
In the SOAP 1.2 HTTP binding, the SOAPAction HTTP header defined in SOAP 1.1 has been removed, and a new HTTP status code 427 has been sought from IANA for indicating (at the discretion of the HTTP origin server) that its presence is required by the server application. The contents of the former SOAPAction HTTP header are now expressed as a value of an (optional) "action" parameter of the "application/soap+xml" media type that is signaled in the HTTP binding.
In the SOAP 1.2 HTTP binding, the Content-type header should be "application/soap+xml" instead of "text/xml" as in SOAP 1.1. The IETF registration for this new media type is [RFC 3902].
SOAP 1.2 provides a finer grained description of use of the various 2xx, 3xx, 4xx HTTP status codes.
Support of the HTTP extensions framework has been removed from SOAP 1.2.
SOAP 1.2 provides an additional message exchange pattern which may be used as a part of the HTTP binding that allows the use of HTTP GET for safe and idempotent information retrievals.
RPC
SOAP 1.2 provides a rpc:result element accessor for RPCs.
SOAP 1.2 provides several additional fault codes in the RPC namespace.
SOAP 1.2 offers guidance on a Web-friendly approach to defining RPCs where the procedure's purpose is purely "safe" informational retrieval.
SOAP encodings
An abstract data model based on a directed edge labeled graph has been formulated for SOAP 1.2. The SOAP 1.2 encodings are dependent on this data model. The SOAP RPC conventions are dependent on this data model, but have no dependencies on the SOAP encoding. Support of the SOAP 1.2 encodings and SOAP 1.2 RPC conventions are optional.
The syntax for the serialization of an array has been changed in SOAP 1.2 from that in SOAP 1.1.
The support provided in SOAP 1.1 for partially transmitted and sparse arrays is not available in SOAP 1.2.
SOAP 1.2 allows the inline (embedded) serialization of multiref values.
The href attribute in SOAP 1.1 (of type xs:anyURI) is called enc:ref in SOAP 1.2 and is of type IDREF.
In SOAP 1.2, omitted accessors of compound types are made equal to NILs.
SOAP 1.2 provides several fault sub-codes for indicating encoding errors.
Types on nodes are made optional in SOAP 1.2.
SOAP 1.2 has removed generic compound values from the SOAP Data Model.
SOAP 1.2 has added an optional attribute enc:nodeType to elements encoded using SOAP encoding that identifies its structure (i.e., a simple value, a struct or an array).
SOAP Part 1 Appendix A provides version management rules for a SOAP node that can support the version transition from [SOAP 1.1] to SOAP Version 1.2. In particular, in defines an env:Upgrade header block which can be used by a SOAP 1.2 node on receipt of a [SOAP 1.1] message to send a SOAP fault message to the originator to signal which version of SOAP it supports.
Document structure
The SOAP 1.2 specifications have been provided in two parts. [SOAP Part1] provides an abstract Infoset-based definition of the SOAP message structure, a processing model and an underlying protocol binding framework, while [SOAP Part2] provides serialization rules for conveying that infoset as well as a particular HTTP binding.
SOAP 1.2 will not spell out the acronym.
SOAP 1.2 has been rewritten in terms of XML infosets, and not as serializations of the form <?xml....?> required by SOAP 1.1.
Additional or changed syntax
SOAP 1.2 does not permit any element after the body. The SOAP 1.1 schema definition allowed for such a possibility, but the textual description is silent about it.
SOAP 1.2 does not allow the env:encodingStyle attribute to appear on the SOAP env:Envelope, whereas SOAP 1.1 allows it to appear on any element. SOAP 1.2 specifies specific elements where this attribute may be used.
SOAP 1.2 defines the new env:NotUnderstood header element for conveying information on a mandatory header block which could not be processed, as indicated by the presence of an env:MustUnderstand fault code. SOAP 1.1 provided the fault code, but no details on its use.
In the SOAP 1.2 infoset-based description, the env:mustUnderstand attribute in header elements takes the (logical) value "true" or "false", whereas in SOAP 1.1 they are the literal value "1" or "0" respectively.
SOAP 1.2 provides a new fault code DataEncodingUnknown.
The various namespaces defined by the two protocols are of course different.
SOAP 1.2 replaces the attribute env:actor with env:role but with essentially the same semantics.
SOAP 1.2 defines a new attribute, env:relay, for header blocks to indicate if unprocessed header blocks should be forwarded.
SOAP 1.2 defines two new roles, "none" and "ultimateReceiver", together with a more detailed processing model on how these behave.
SOAP 1.2 has removed the "dot" notation for fault codes, which are now simply an XML Qualified Name, where the namespace prefix is the SOAP envelope namespace.
SOAP 1.2 replaces "client" and "server" fault codes with "Sender" and "Receiver".
SOAP 1.2 uses the element names env:Code and env:Reason, respectively, for what used to be called faultcode and faultstring in SOAP 1.1. SOAP 1.2 also allows multiple env:Text child elements of env:Reason qualified by xml:lang to allow multiple language versions of the fault reason.
SOAP 1.2 provides a hierarchical structure for the mandatory SOAP env:Code sub-element in the env:Fault element, and introduces two new optional subelements, env:Node and env:Role.
SOAP 1.2 removes the distinction that was present in SOAP 1.1 between header and body faults as indicated by the presence of the env:Details element in env:Fault. In SOAP 1.2, the presence of the env:Details element has no significance as to which part of the fault SOAP message was processed.
SOAP 1.2 uses XML Base [XML Base] for determining a base URI for relative URI references whereas SOAP 1.1 is silent about the matter.
SOAP HTTP binding
In the SOAP 1.2 HTTP binding, the SOAPAction HTTP header defined in SOAP 1.1 has been removed, and a new HTTP status code 427 has been sought from IANA for indicating (at the discretion of the HTTP origin server) that its presence is required by the server application. The contents of the former SOAPAction HTTP header are now expressed as a value of an (optional) "action" parameter of the "application/soap+xml" media type that is signaled in the HTTP binding.
In the SOAP 1.2 HTTP binding, the Content-type header should be "application/soap+xml" instead of "text/xml" as in SOAP 1.1. The IETF registration for this new media type is [RFC 3902].
SOAP 1.2 provides a finer grained description of use of the various 2xx, 3xx, 4xx HTTP status codes.
Support of the HTTP extensions framework has been removed from SOAP 1.2.
SOAP 1.2 provides an additional message exchange pattern which may be used as a part of the HTTP binding that allows the use of HTTP GET for safe and idempotent information retrievals.
RPC
SOAP 1.2 provides a rpc:result element accessor for RPCs.
SOAP 1.2 provides several additional fault codes in the RPC namespace.
SOAP 1.2 offers guidance on a Web-friendly approach to defining RPCs where the procedure's purpose is purely "safe" informational retrieval.
SOAP encodings
An abstract data model based on a directed edge labeled graph has been formulated for SOAP 1.2. The SOAP 1.2 encodings are dependent on this data model. The SOAP RPC conventions are dependent on this data model, but have no dependencies on the SOAP encoding. Support of the SOAP 1.2 encodings and SOAP 1.2 RPC conventions are optional.
The syntax for the serialization of an array has been changed in SOAP 1.2 from that in SOAP 1.1.
The support provided in SOAP 1.1 for partially transmitted and sparse arrays is not available in SOAP 1.2.
SOAP 1.2 allows the inline (embedded) serialization of multiref values.
The href attribute in SOAP 1.1 (of type xs:anyURI) is called enc:ref in SOAP 1.2 and is of type IDREF.
In SOAP 1.2, omitted accessors of compound types are made equal to NILs.
SOAP 1.2 provides several fault sub-codes for indicating encoding errors.
Types on nodes are made optional in SOAP 1.2.
SOAP 1.2 has removed generic compound values from the SOAP Data Model.
SOAP 1.2 has added an optional attribute enc:nodeType to elements encoded using SOAP encoding that identifies its structure (i.e., a simple value, a struct or an array).
SOAP Part 1 Appendix A provides version management rules for a SOAP node that can support the version transition from [SOAP 1.1] to SOAP Version 1.2. In particular, in defines an env:Upgrade header block which can be used by a SOAP 1.2 node on receipt of a [SOAP 1.1] message to send a SOAP fault message to the originator to signal which version of SOAP it supports.
发表评论
-
Threadlocals and memory leaks in J2EE
2020-03-03 01:10 276Threadlocals are used in J2EE a ... -
RabbitMQ调优系列2 为大量连接进行调整
2019-06-23 22:29 1171RabbitMQ调优系列2 为大量连接进行调整 Some ... -
RabbitMQ调优系列1 调整I/O线程线程池
2019-06-23 22:03 1098RabbitMQ调优系列1 调整I/O线程线程池 Er ... -
MySQLSQL优化最佳实践和建议
2019-03-24 22:57 684总结一下项目中经常使用的MySQL SQL优化最佳实践 1. ... -
Hibernate中的持久化对象状态说明
2019-03-18 00:04 495Hibernate框架中为持久化的对象设计了三种状态,处于这三 ... -
术语-揭开Socket
2013-09-27 11:37 952好文转自:http://www.cnblogs.com/goo ... -
术语-Frontend 与 backend
2013-09-16 10:20 1269Front-end and back-end are term ... -
HTTP状态代码含义与其解决方法
2012-11-29 14:04 1091HTTP状态代码含义与其解决方法 转自:http://bugu ... -
微软知识库kb是什么?
2012-10-23 18:53 0您在搜索微软kb(微软知识库 knowledge base)和 ... -
Oracle 9i 、10G 编程艺术之深入数据库体系结构
2011-10-30 16:13 1065第一章 [1.3.3 多版本] Oracle 能充分利用不 ...
相关推荐
The second edition has been updated to include even more hands-on examples to apply to your own applications, and new tools and features to reflect changes on the web and updates to PHP. Build web ...
- **SOAP (Simple Object Access Protocol)**: A protocol for exchanging structured information in the implementation of web services. - **REST (Representational State Transfer)**: An architectural style...
- **Change and Transport System (CTS):** Using CTS to manage changes and transport them to production. - **Software Update Manager (SUM):** Utilizing SUM for software updates and upgrades. #### 2. ...
Xcopy and Web Applications 548 Copy Project 550 Installer Projects 551 What Is Windows Installer? 551 Creating Installers 552 Advanced Options 562 Summary 569 Contents Part III: Windows Forms 571 ...
6)....Fixed: Passing settings between dialogs 7)....Fixed: "Ask for steps to reproduce" dialog is now DPI-aware 8)....Fixed: Silently ignore and fix invalid values in project options EurekaLog 7.2 ...
interesting side-effects depending on your application and web server. ; You may be able to send headers and cookies after you've already sent output ; through print or echo. You also may see ...