Simple Object Access Protocol (SOAP) is a specification for exchanging structured information using XML as the message format and usually HTTP protocol for message transmission.
A SOAP Web Service consists of an envelope, header, and body structured in XML.
SOAP provides a standardized method to publish the message format for your service. Its structure is defined in file called a WSDL (Web Service Definition Language).
The WSDL identifies the IP address and Port used for the Web Service, lists the operations that can be executed when using the service, and identifies the XML Schema describing the incoming and outgoing message formats. WS-Security, if used, is also defined in the WSDL. The consumer of the service uses these Schemas to form their request message and understand the provider's response message.
SOAP with Attachments
This refers to the method of using Web Services to send and receive files using a combination of SOAP (and MIME), primarily over HTTP. This provides SOAP some mechanism for carrying large payloads and binary data as an attachment, rather than inside the SOAP message envelope. The processing of these attachments can be managed using several Business Process tasks that support Web Services.
Advantages & Disadvantages
Generally, SOAP provides many tools and options for validating SOAP compliance, plus it is more useful when setting up Web Service implementations between multiple products. As such, SOAP implementations are often more complex in design, setup, and execution.