פרוטוקולים במודל TCP/IP
שכבת יישום
HTTP, SMTP, FTP, DNS, DHCP, SSH, RTP, RTSP, IRC, SNMP, SIP, IMAP4, MIME, TELNET, RPC, SOAP, LDAP ...
שכבת תעבורה
TCP, UDP, SCTP, DCCP ...
שכבת רשת
IP, IPv4, IPv6, ICMP, IPX, IGMP ...
שכבת קשר
Ethernet, 10BASE-T, 802.11 WiFi, Token ring, FDDI, ARP...

SOAP, במקור ראשי תיבות של Simple Object Access Protocol, הוא פרוטוקול תקשורת מבוסס מבנה XML המיועד להעברת הודעות בשירותי רשת (Web Service), בדרך כלל, תוך שימוש בפרוטוקולי HTTP ו-RPC. הפרוטוקול מאפשר לבצע קריאה להפעלת פונקציות משרת אחד לשרת אחר על בסיס תקשורת HTTP, שהיא התשתית הנפוצה ביותר בפרוטוקולי האינטרנט. היתרון העיקרי של הפרוטוקול הוא שניתן לתת הוראות לביצוע בין מערכות שונות בלי תלות במערכת ההפעלה או ביישום שרץ עליהן.

מבנה הודעת SOAP

חלק מהגדרה הוא קובץ WSDL, שהוא קובץ ההגדרה של העברת הפרמטרים בין פונקציה ומשמש לחילול הקוד הנגדי בעת קישור בין מערכות הזרות זה לזה. ארכיטקטורה המשתמשת הרבה בפרוטוקול זה היא SOA שהיא פיזור פעולות בין שרתים שונים המתקשרים ביניהם על פי מטרתם ב-IT. הוא סטנדרט של ארגון הסטנדרטים W3C.

תבנית של הודעת SOAPעריכה

הודעת SOAP הוא קובץ XML המורכב מאלמנט אב בשם מעטפה (Envelope), שבו אלמנט אופציונלי בשם כותרת (Header) ואלמנט בשם גוף (Body). בתוך אלמנט הגוף תבוא הבקשה הממשית של הפעולה הנדרשת מהשרת. בקובץ דוגמה זה אפשר להפעיל את הפונקציה GetSearch שמקבל פרמטר מחרוזתי של תוכן החיפוש.

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Header>
 <!- content of header ->
</soap:Header>

<soap:Body>
 <!- content of Body ->

  <soap:Fault>
  <!- content of Fault ->
  </soap:Fault>

</soap:Body>
</soap:Envelope>



ראו גםעריכה