Date: 2003-03
Suitable for: Global XML Web Services Architecture (GXA)
Remote Process Call (RPC)
SOAP 1.1 SOAP 1.2 specification
Transfer Protocol: TCP, HTTP, SMTP, and MSMQ
Microsoft® .NET Web Services Enhancements 1.0 SP1
XML Schema
Summary
SOAP offers a simple, scalable, and rich XML message framework (Interoperability) in distributed heterogeneous environments, providing more interoperability. Content
Introduction
SOAP version
Message frame
Extensibility
Treatment model
Protocol binding
HTTP binding
RPC & Code
SOAP style
to sum up
Introduction
It seems to be just a cleaning product in SOAP yesterday. Most developers are now unable to understand the information without angle brackets (Can't Brackets). Demonstones, I understand that most of the data is mostly based on XML performance). SOAP initially represents the "Simple Object Access Protocol". If you ask people to ask people to ask SOAP for a few years, they will say "Do" similar to DCOM and CORBA (such as RPC calls) on the Internet. " Its original authority admits that they focus on "object access" and return, with time, so that SOAP services are more extensive applications. Therefore, the specification focus quickly moves from the object to the universal XML message framework.
Changes in focus have a subtle problem in the alphabetical 'o' of the abbreviated word SOAP. Interestingly, the SOAP1.2 Working Group remains (so far) SOAP this name (it is too common, it is difficult to change it), but decide to rely on (AgAinst) clearly explain to avoid misunderstanding developers. The official SOAP definition in the latest SOAP1.2 specification is not even involved in the object:
SOAP is a lightweight protocol used to exchange structured information in dispersion and distribution environments. SOAP uses XML technology to define an extensible message framework, which provides a message constructor that can be exchanged on a variety of Underlying protocols. The frame is designed to be independent of any particular semantics of any particular programming model and other implementations.
Now, this definition really describes the essence of SOAP. SOAP defines a method to send an XML message from a point to the B point (see Figure 1). This provides an XML-based message framework by SOAP, which has the following features:
1 scalable (extensible)
2 can use multiple lower network protocols
3 independent of programming model
More details of these three features now will now be discussed.
Figure 1. Simple SOAP message
First, the key to SOAP is scalability (Extensibility). When SOAP represents something, "S" means "Simple". If there is one thing we can learn from the web, that is, simplicity can always compete (Wins Over) efficiency or technology purity. Moreover, when interoperability is at Stake, it is an absolute need. SOAP lacks a variety of distributed systems, such as security, path selection, and name reliability, which confirms SOAP maintains the original design goal - simple. SOAP defines a communication framework to allow these features to be added as a hierarchical extension (To BE Added Down The Road As Layered Extensions). Microsoft, IBM and other software companies are actively playing a universal SOAP extension, which will increase some of the features of most developers expect. The initial stage is involved as a global XML Web Service Architecture (GXA). Microsoft has released a reference implementation of a GXA specification, called Microsoft® .NET Web Services Enhancements 1.0 SP1. Second, SOAP can be used based on any transfer protocol, such as TCP, HTTP, SMTP, and even MSMQ (see Figure 1). However, in order to maintain interoperability, define standard protocol bindings is defined in Outline to fit the provisions for each environment (Rule). The SOAP specification provides a flexible framework to define any protocol bindings, and because the HTTP protocol has been widely used, a binding of an HTTP protocol has now been explicitly defined.
Third, SOAP allows any programming model and does not rely on RPC. In fact, most developers directly use the SOAP to use RPC calls on a distributed object (because the initial SOAP is about "access object"), the basic SOAP model is similar to the traditional message system. SOAP defines a single-way message model that separately processes. You can combine multiple messages into one overall information for exchange. Figure 1 illustrates a universal message that a simple sender does not receive the response, however, the recipient can send the Response to the sender (see Figure 2). SOAP allows any number of message exchange modes, and each message exchange mode is only one. Other examples include Solicit / Reponse (opposite to Request / Reponse), notifications, and PEER-TO-Peer Conversations.
Figure 2. Request / Response message exchange mode
Developers often confuse the Request / Response with RPC, which is actually very different. RPC uses request / reactions, but the request / reaction is not necessarily necessary. RPC is a programming model that allows developers and methods to call cooperation. RPC requires a way to sign the conversion of SOAP messages. Due to the popularity of the RPC, SOAP has a protagonist that uses RPC in SOAP (see RPC and encoding this section below).
With these three characteristics, the SOAP message framework can easily send XML messages in the heterogeneous environment, while interoperability is an early challenge in these heterogeneous environments. SOAP version
From the initial release of SOAP specifications to today's widespread SOAP1.1, many things have changed, from small details to major ideas. SOAP1.1 is submitted to W3C and returned as a memo (Note) in May 2000. "W3C Memo" status makes SOAP 1.1 just a good idea because it has not yet passed the strict program of W3C, and it will eventually achieve the "Recommendation" state in this program. Even so, now SOAP1.1 is still considered to be actually standards under such a wide large or small application provider. W3C uses SOAP 1.1 Recommendation as original (SEED) to let a new XML protocol working group responsible for generating the next SOAP version, currently named SOAP 1.2. At present, SOAP1.2 is a "candidate proposal", indicating that it is not far from the implementation stage and is not far from it. Once SOAP1.2 becomes "Recommendation", it may quickly get support from application providers.
After the SOAP1.2 implementation, the application provider continues to support SOAP 1.1 for backward compatibility. SOAP version is based on XML namespace. SOAP 1.1 corresponds to http://schemas.xmlsoap.org/soap/envelope namespace, while SOAP 1.2 corresponds to http://www.w3.org/2002/12/soap-envelop, named space (although it is recommended There will be a change at the book).
See Table 1 to quickly refer to the location of each namespace and the location of the specification. In the entire article, we will cover the most important place in SOAP. Check the current SOAP 1.2 specification in the extensive change list of two versions.
Table 1. SOAP version information
SOAP 1.1
Namespace name
http://schemas.xmlsoap.org/soap/envelope/
Specification location
http://www.w3.org/tr/SOAP/
SOAP 1.2
Namespace name
http://www.w3.org/2002/12/soap-ENvelope
Specification location
http://www.w3.org/tr/soap12-part0/ (original)
http://www.w3.org/tr/soap12-part1/
http://www.w3.org/tr/soap12-part2/