SOAP provides the specification of "request": The format of the request to the service interface, including methods and parameters. You want to let people do things, you have to tell people what you want to do, soap is the format of the definition of this "request", according to the "request" format of the SOAP definition "write" the request can ensure that the Web service can correctly interpret what you want it to do and what parameters you provide for it. The main issues you need to describe in this request are: which Web service to send the request to, the parameter type of the request, the parameter value, the return value type. These are all "filled in" and a SOAP message conforming to the SOAP specification is completed.While WSDL and soap are two of the standards of Web service, they are not necessarily connected and can be used independently.
WSDL provides a unified interface that has now become an internationally recognized standard, with interfaces provided by WSDL that can access different types of resources (such as Java, C #, C, C, C + +, and so on), because WSDL is XML-based and language platform agnostic. In addition, the WSDL provides binding and service elements to bind the interface to the specific service, realizing the separation between the interface and the implementation.
Soap (Simple Object Access Protocol) is an HTTP-based transport protocol used to access remote services
The relationship between WSDL and soap is: the WSDL binding service can be set to use the Protocol, the Protocol can be SOAP, HTTP, SMTP, FTP and so on any kind of transport protocol, in addition to the WSDL can also bind JMS, EJB and local Java, etc. However, it is necessary to extend the binding and service elements and to extend the capabilities of the server to support this extension
The SOAP protocol is a request and response protocol specification, and HTTP is the Web transport protocol, and SOAP transfers can be based on HTTP, but can also be based on other transport protocols such as FTP, SMTP, and so on.
Simple Object Access Protocol (SOAP) is a note from the World Trade Organization, which describes a lightweight protocol for exchanging information in a decentralized or distributed environment. SOAP is an XML-based protocol that consists of three parts: the soap wrapper (Envelop), which defines a framework that describes what the content in the message is, who sent it, who should accept and handle it, and how to handle it; SOAP encoding Rules (Encoding rules), An instance that represents the data type that the application needs to use, a SOAP RPC representation (RPC representation), a contract that represents a remote procedure call and an answer, and a soap that can be bound to a variety of transport protocols (binding), exchanging information using the underlying protocol. In this document, only the framework for how SOAP is bound to HTTP and HTTP extensions is currently defined.
SOAP is a communication protocol, SOAP on the basis of the HTTP protocol, the request parameters written as XML, placed on the HTTP body on the submission of a Web service server (servlet,asp, etc.) processing is completed, The result is also written as XML as response back to the client, in order to make the client and the Web service can correspond to each other, you can use WSDL as a description of this mode of communication, using the WSDL tool can automatically generate WS and client framework files, SOAP has the ability to serialize complex objects into XML.
SOAP is the predecessor of RPC, is the protocol of Remote Call processing, this Protocol security is not very good, most firewalls will block RPC communication packets, while SOAP uses the HTTP protocol as the basic protocol, using port 80 allows soap to complete the RPC function through the firewall.
The SOAP protocol, like the HTTP protocol, is the underlying communication protocol, but the format of the request package is different, the SOAP packet is in XML format, and now we do not need to understand soap in depth to write a Web service. If the service and client are using SOAP in the same environment, there is usually a tool for automatically generating the SOAP program framework, so it's okay not to know the details. However, if the client and service environment are different, such as Java's client and. NET service to communicate, or VB client and Tomcat under the Java Service communication, or to know a little bit of detail as well. In particular, WSDL or UDDI is not a standard, but if not used, you have to manually formulate a SOAP message.