0% found this document useful (0 votes)
63 views3 pages

Soap SOAP Is A Protocol For Exchanging XML-based Messages Over Computer Networks

SOAP is a protocol for exchanging XML messages over computer networks using HTTP. It provides a basic messaging framework that other layers can build on. The most common pattern is the remote procedure call (RPC) pattern where a client sends a request to a server and the server immediately responds. SOAP uses HTTP as a transport protocol and XML as the message format. An example SOAP request and response is shown to retrieve product details from a fictional warehouse web service.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views3 pages

Soap SOAP Is A Protocol For Exchanging XML-based Messages Over Computer Networks

SOAP is a protocol for exchanging XML messages over computer networks using HTTP. It provides a basic messaging framework that other layers can build on. The most common pattern is the remote procedure call (RPC) pattern where a client sends a request to a server and the server immediately responds. SOAP uses HTTP as a transport protocol and XML as the message format. An example SOAP request and response is shown to retrieve product details from a fictional warehouse web service.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

SOAP

SOAP is a protocol for exchanging XML-based messages over computer networks,


normally using HTT!HTT"# "$% forms the foundation layer of the &eb services
stack, providing a basic messaging framework that more abstract layers can build on#
There are several different types of messaging patterns in "$%, but by far the most
common is the 'emote rocedure (all )'(* pattern, in which one network node )the
client* sends a re+uest message to another node )the server*, and the server
immediately sends a response message to the client# "$% is the successor of XML-
'(, though it borrows its transport and interaction neutrality and the
envelope!header!body from elsewhere, probably from &,,X
-citation needed.
#
History
"$% originally stood for Simple Object Access Protocol, and lately also Service
Oriented Architecture Protocol, but is now simply "$%# The original acronym was
dropped with /ersion 0#1 of the standard, which became a &2( 'ecommendation on
3une 14, 1552, as it was considered to be misleading#
"$% was originally designed by ,ave &iner, ,on 6ox, 6ob %tkinson, and Mohsen %l-
7hosein in 0889 with backing from Microsoft )where %tkinson and %l-7hosein worked at
the time* as an ob:ect-access protocol# The "$% specification is currently maintained
by the XML rotocol &orking 7roup of the &orld &ide &eb (onsortium#
Transport methods
"$% makes use of an ;nternet application layer protocol as a transport protocol# (ritics
have argued that this is an abuse of such protocols, as it is not their intended purpose
and therefore not a role they fulfill well# 6ackers of "$% have drawn analogies to
successful uses of protocols at various levels for tunneling other protocols#
-citation needed.
6oth "MT and HTT are valid application layer protocols used as Transport for "$%,
but HTT has gained wider acceptance as it works well with today<s ;nternet
infrastructure= specifically, "$% works well with network firewalls# "$% may also be
used over HTT" )since it is the same protocol as HTT at the application level, but
using an encrypted transport protocol underneath* in either simple or mutual
authentication= this is the advocated &"-; method to provide web service security as
stated in the &"-; 6asic rofile 0#0, see -1.# This is a ma:or advantage over other
distributed protocols like 7;$!;;$ or ,($M which are normally filtered by firewalls#
XML was chosen as the standard message format because of its widespread use by
ma:or corporations and open source development efforts# %dditionally, a wide variety of
freely available tools significantly ease the transition to a "$%-based implementation#
The somewhat lengthy syntax of XML can be both a benefit and a drawback# ;ts format
is possible for humans to read, but can be complex and can have slow processing times#
>or example, ($'6%, 7;$, ;(?, and ,($M use much shorter, binary message
formats# $n the other hand, hardware appliances are available to accelerate processing
of XML messages# -2. -4.# 6inary XML is also being explored as a means for streamlining
the throughput re+uirements of XML#
Advantages
@sing "$% over HTT allows for easier communication behind proxies and
firewalls than previous remote execution technology#
"$% is versatile enough to allow for the use of different transport protocols# The
standard stacks use HTT as a transport protocol, but other protocols are also
usable )T(, "AM*#
Weaknesses
6ecause of the verbose XML format, "$% can be considerably slower than
competing middleware technologies such as ($'6%# This may not be an issue
when only small messages are sent-B.# $n the other side, "$% has Message
Transmission $ptimiCation Mechanism#
&hen relying on HTT as a transport protocol and not using &"-%ddressing or
an ?"6, the roles of the interacting parties are fixed# $nly one party )the client*
can use the services of the other# "o developers must use polling instead of
notification in these common cases#
Many "$% implementations limit the amount of data that can be sent#
Most uses of HTT as a transport protocol are done in ignorance of how the
operation would be modelled in HTT# This agnosticism is by design )with
analogy to how different protocols sit on top of each other in the ; stack* but the
analogy is imperfect )because the application protocols used as transport
protocols are not really transport protocols*# 6ecause of this there is no way to
know if the method used is appropriate to the operation# This makes good
analysis of the operation at the application-protocol level problematic at best with
results that are at least sub-optimal )if the $"T-based binding is used for an
application which in HTT would be more naturally modelled as a 7?T
operation*, and which may be buggy )if for example the 7?T based binding were
used for an operation which did not have the idempotency re+uired of 7?T*#
Example
Here is an example of how a client might format a "$% message re+uesting product
information from a fictional warehouse web service# The client needs to know which
product corresponds with the ;, 91DE2BF
GsoapF?nvelope xmlnsFsoapHIhttpF!!schemas#xmlsoap#org!soap!envelope!IJ
GsoapF6odyJ
Ggetroduct,etails xmlnsHIhttpF!!warehouse#example#com!wsIJ
Gproduct;,J91DE2BG!product;,J
G!getroduct,etailsJ
G!soapF6odyJ
G!soapF?nvelopeJ
%nd here is a possible response to the client re+uestF
GsoapF?nvelope xmlnsFsoapHIhttpF!!schemas#xmlsoap#org!soap!envelope!IJ
GsoapF6odyJ
Ggetroduct,etails'esponse xmlnsHIhttpF!!warehouse#example#com!wsIJ
Ggetroduct,etails'esultJ
GproductAameJToptimate 2-iece "etG!productAameJ
Gproduct;,J91DE2BG!product;,J
GdescriptionJ2-iece luggage set# 6lack olyester#G!descriptionJ
Gprice currencyHIA;"IJ8E#B5G!priceJ
Gin"tockJtrueG!in"tockJ
G!getroduct,etails'esultJ
G!getroduct,etails'esponseJ
G!soapF6odyJ
G!soapF?nvelopeJ

You might also like