یک پیام SOAP به طور کلی شامل چند بخش اصلی است که هر کدام وظیفه خاص خود را در انتقال اطلاعات دارند. ساختار کلی پیام SOAP به صورت زیر است:
-
Envelope (پوسته)
این قسمت اصلیترین بخش پیام SOAP است و تمام پیامها در داخل آن قرار دارند. Envelope دو بخش اصلی دیگر را شامل میشود: Header و Body. این بخش تمام اطلاعات مربوط به پیام و نحوه پردازش آن را در اختیار مقصد قرار میدهد. -
Header (سرآیند)
بخش Header اختیاری است و برای ارسال اطلاعات اضافی درباره پیام یا درخواست استفاده میشود. این اطلاعات میتواند شامل اطلاعات امنیتی، مدیریت تراکنش، یا هرگونه اطلاعات دیگر باشد که به پردازش پیام کمک میکند. Header میتواند شامل چندین عنصر مختلف باشد که هر کدام کارکرد خاص خود را دارند. -
Body (بدنه)
این قسمت محتوای اصلی پیام SOAP را شامل میشود و اطلاعاتی که برای پردازش درخواست یا پاسخ ضروری هستند، در آن قرار دارند. به طور معمول، این بخش شامل دادههای واقعی است که بین کلاینت و سرور رد و بدل میشود. -
Fault (خطا)
بخش Fault نیز در صورتی که مشکلی در پردازش پیام SOAP وجود داشته باشد، استفاده میشود. این بخش شامل اطلاعاتی در مورد خطاهایی است که در طول پردازش پیام رخ داده است. Fault معمولاً در قسمت Body قرار دارد و حاوی کد و توضیحات خطا است.
ساختار یک پیام SOAP به صورت کلی:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://www.example.com/webservice">
<soapenv:Header>
<!-- اطلاعات اضافی و اختیاری در اینجا قرار میگیرند -->
</soapenv:Header>
<soapenv:Body>
<!-- محتوای اصلی درخواست یا پاسخ در اینجا قرار میگیرد -->
</soapenv:Body>
</soapenv:Envelope>
در این ساختار:
-
Envelope پیام را محصور میکند.
-
Header اطلاعات اضافی (اختیاری) را حمل میکند.
-
Body محتوای اصلی پیام را شامل میشود.
-
در صورت بروز خطا، بخش Fault اطلاعات مربوط به خطا را شامل میشود.