Simple Object Access Protocol
i
Simple Object Access Protocol
About the Tutorial
SOAP is an open-standard, XML-based messaging protocol for exchanging information among
computers. This is a brief tutorial that introduces the readers to the fundamentals of SOAP
before moving on to explain its various elements, encoding, and how SOAP is transported.
Audience
This tutorial has been prepared for beginners to help them understand the basics of SOAP and
how to implement it in practice.
Prerequisites
As a reader of this tutorial, you should have a basic understanding of client/server
environment, and knowledge of XML and XML namespace.
Copyright & Disclaimer
Copyright 2015 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt.
Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any
contents or a part of contents of this e-book in any manner without written consent of the
publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd.
provides no guarantee regarding the accuracy, timeliness or completeness of our website or
its contents including this tutorial. If you discover any errors on our website or in this tutorial,
please notify us at contact@[Link]
i
Simple Object Access Protocol
Table of Contents
About the Tutorial ............................................................................................................................................ i
Audience .......................................................................................................................................................... i
Prerequisites .................................................................................................................................................... i
Copyright & Disclaimer ..................................................................................................................................... i
Table of Contents ............................................................................................................................................ ii
1. SOAP – INTRODUCTION .............................................................................................................. 1
Points to Note ................................................................................................................................................. 1
2. SOAP – MESSAGES...................................................................................................................... 2
SOAP Message Structure ................................................................................................................................. 2
3. SOAP – ENVELOPE ...................................................................................................................... 4
Points to Note ................................................................................................................................................. 4
v1.2-Compliant SOAP Message ....................................................................................................................... 4
SOAP with HTTP POST ..................................................................................................................................... 5
4. SOAP – HEADER .......................................................................................................................... 6
Points to Note ................................................................................................................................................. 6
SOAP Header Attributes .................................................................................................................................. 6
5. SOAP – BODY .............................................................................................................................. 8
6. SOAP – FAULT........................................................................................................................... 10
Points to Note ............................................................................................................................................... 10
Sub-elements of Fault ................................................................................................................................... 10
SOAP Fault Codes .......................................................................................................................................... 10
SOAP Fault Example ...................................................................................................................................... 11
7. SOAP – ENCODING ................................................................................................................... 12
Scalar Types .................................................................................................................................................. 12
ii
Simple Object Access Protocol
Compound Types .......................................................................................................................................... 14
8. SOAP – TRANSPORT.................................................................................................................. 16
SOAP via HTTP............................................................................................................................................... 16
9. SOAP – EXAMPLE ...................................................................................................................... 19
10. SOAP – STANDARDS ................................................................................................................. 21
iii
Simple Object Access Protocol
1. SOAP – INTRODUCTION
SOAP is an acronym for Simple Object Access Protocol. It is an XML-based messaging protocol
for exchanging information among computers. SOAP is an application of the XML specification.
Points to Note
SOAP is a communication protocol designed to communicate via Internet.
SOAP can extend HTTP for XML messaging.
SOAP provides data transport for Web services.
SOAP can exchange complete documents or call a remote procedure.
SOAP can be used for broadcasting a message.
SOAP is platform- and language-independent.
SOAP is the XML way of defining what information is sent and how.
SOAP enables client applications to easily connect to remote services and invoke remote
methods.
Although SOAP can be used in a variety of messaging systems and can be delivered via a
variety of transport protocols, the initial focus of SOAP is remote procedure calls transported
via [Link] frameworks including CORBA, DCOM, and Java RMI provide similar functionality
to SOAP, but SOAP messages are written entirely in XML and are therefore uniquely platform-
and language-independent.
1
Simple Object Access Protocol
2. SOAP – MESSAGES
A SOAP message is an ordinary XML document containing the following elements:
Envelope : Defines the start and the end of the message. It is a mandatory element.
Header: Contains any optional attributes of the message used in processing the
message, either at an intermediary point or at the ultimate end-point. It is an optional
element.
Body: Contains the XML data comprising the message being sent. It is a mandatory
element.
Fault: An optional Fault element that provides information about errors that occur
while processing the message.
All these elements are declared in the default namespace for the SOAP envelope:
[Link]
and the default namespace for SOAP encoding and data types is:
[Link]
NOTE: All these specifications are subject to change. So keep updating yourself with the latest
specifications available on the W3 website.
SOAP Message Structure
The following block depicts the general structure of a SOAP message:
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="[Link]
SOAP-ENV:encodingStyle="[Link]
<SOAP-ENV:Header>
...
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
...
2
Simple Object Access Protocol
<SOAP-ENV:Fault>
...
...
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP_ENV:Envelope>
3
Simple Object Access Protocol
End of ebook preview
If you liked what you saw…
Buy it from our store @ [Link]