1
00:00:00,060 --> 00:00:02,640
-: Let's begin with SOAP.

2
00:00:02,640 --> 00:00:05,220
So, SOAP is an acronym stands

3
00:00:05,220 --> 00:00:08,715
for Simple Object Access Protocol.

4
00:00:08,715 --> 00:00:12,720
It was designed in 1998 for Microsoft.

5
00:00:12,720 --> 00:00:16,980
Notice this is not by Microsoft but for Microsoft.

6
00:00:16,980 --> 00:00:19,170
It's an XML based protocol.

7
00:00:19,170 --> 00:00:22,290
Now, if you think that XML is quite outdated

8
00:00:22,290 --> 00:00:23,490
then you are probably right.

9
00:00:23,490 --> 00:00:26,700
But again, remember this protocol is more

10
00:00:26,700 --> 00:00:30,460
than 20 years old by now, and in the previous century

11
00:00:30,460 --> 00:00:32,610
actually in the previous millennium,

12
00:00:32,610 --> 00:00:33,783
XML was a King.

13
00:00:35,340 --> 00:00:39,360
SOAP uses an RPC style request response meaning,

14
00:00:39,360 --> 00:00:41,430
when a client calls a server

15
00:00:41,430 --> 00:00:45,840
it calls a specific method or a specific procedure.

16
00:00:45,840 --> 00:00:49,170
RPC stands for Remote Procedure Call.

17
00:00:49,170 --> 00:00:53,340
Which means that the client calls a very specific method.

18
00:00:53,340 --> 00:00:56,730
Also, one of the important attributes of SOAP is

19
00:00:56,730 --> 00:00:58,440
that it extensible.

20
00:00:58,440 --> 00:01:01,050
Meaning there is a base protocol

21
00:01:01,050 --> 00:01:04,140
which is used to call a method and get a response

22
00:01:04,140 --> 00:01:07,380
and it could be extended also for various attributes

23
00:01:07,380 --> 00:01:09,270
such as authentication, routing,

24
00:01:09,270 --> 00:01:12,423
transaction, federation, and so on.

25
00:01:13,560 --> 00:01:16,770
Here is a small example of a SOAP request.

26
00:01:16,770 --> 00:01:21,330
Notice the XML and the quite strict format of it.

27
00:01:21,330 --> 00:01:23,310
So here we have the envelope,

28
00:01:23,310 --> 00:01:26,070
which contains some metadata about the request,

29
00:01:26,070 --> 00:01:28,950
and then we have the body of the request.

30
00:01:28,950 --> 00:01:31,530
And in this case, the body tells us

31
00:01:31,530 --> 00:01:36,150
that we are calling a method called Get Stock Price

32
00:01:36,150 --> 00:01:41,150
and pass a parameter named stock name with the value of IBM.

33
00:01:41,670 --> 00:01:44,430
In other words, we ask the server to give us

34
00:01:44,430 --> 00:01:46,773
the current value of the IBM stock.

35
00:01:47,730 --> 00:01:49,723
Now what you need to know about SOAP is

36
00:01:49,723 --> 00:01:54,723
that it is quite outdated and generally you shouldn't use it

37
00:01:55,320 --> 00:01:56,880
unless you really, really have to.

38
00:01:56,880 --> 00:01:58,470
If, for example, you are working

39
00:01:58,470 --> 00:02:02,283
with a legacy system that exposes only SOAP endpoints.

