المنت Header در SOAP :
همانطور که در بخش های قبل توضیح دادیم ، المنت Header در یک پیام SOAP ، حاوی اطلاعاتی کلی و پایه راجع به پیام است .
استفاده از المنت Header اختیاری بوده و می تواند شامل اطلاعات کاربری ، اهراز هویت و … باشد .
اگر المنت Header در یک پیام SOAP وجود داشته باشد ، باید حتما اولین عنصر فرزند المنت Envelope بوده و تمام عناصر فرزند آن به صورت صحیح و با اشاره به Namespace مرتبط ، تعیین شوند .
به کد زیر دفت نمایید . در این کد یک المنت کامل Header را برای یک پیام SOAP تعریف کرده ایم .
این المنت دارای ۳ خاصیت یا پارامتر به نام ” mustUnderstand ” ، ” Trans” با مقدار ۱ و یک مقدار ۲۳۴ است .
این خواص مشخص می کند که پیام SOAP چگونه باید توسط دریافت کننده آن ، پردازش شود .
در بخش های بعدی به تشریح هر یک از این خواص می پردازیم :
تعریف المنت Header SOAP در پیام |
<?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> |
خاصیت mustunderstand المنت Header :
خاصیت mustunderstand ، تعیین می کند که آیا اطلاعات المنت Header باید توسط پردازنده پیام SOAP ، پردازش شوند یا خیر .
اگر مقدار ۱ برای آن تعیین شود ، پذیرنده پیام بایستی المنت Header را خوانده و آن را پردازش کنند . اگر پذیرنده نتواند اطلاعات Header را پردازش کند ، عملیات اجرای پیام SOAP با error مواجه خواهد شد .
اگر هم مقدار ۰ برای آن تعیین شود ، آن بخش از المنت خوانده نمی شود .
شکل کلی استفاده از این خاصیت به صورت زیر است :
Syntax | soap:mustUnderstand = ” 0 | 1 “ |
خاصیت actor المنت Header :
پیام SOAP در طی مسیر رسیدن از فرستنده به مقصد ، ممکن است در سرورها و سیستم های مختلفی عبور کرده و پردازش شود .
حال ممکن است بخواهیم اطلاعات بخشی از المنت Header فقط توسط یک یا دو پایانه مورد نظرمان خوانده شده ، نه تمام پایانه هایی که از آنها عبور می کند .
از خاصیت actor در یک بخش از المنت Header ، برای تعیین دقیق آدرس پایانه ای که می خواهیم ، فقط وی ، آن بخش را پردازش کند ، استفاده می شود .
شکل کلی استفاده از این خاصیت به صورت زیر است :
Syntax | soap:actor = ” URI “ |
نکته : پارامتر URI آدرس پایانه را تعیین می کند ، که می خواهیم ، آن بخش از المنت Header را پردازش نماید .
مثال : در مثال زیر با استفاده از خاصیت actor تعیین کرده ایم ، که المنت Header توسط یک آدرس مشخص فقط پردازش شود :
تعریف خاصیت actor SOAP در پیام |
<?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> |
خاصیت encodingstyle :
خاصیت encodingstyle ، برای تعیین انواع داده ای که در پیام SOAP به کار می رود ، استفاده می شود .
به کار بردن این خاصیت اختیاری بوده و مقدار پیش فرض خاصی ندارد . شکل کلی استفاده از این خاصیت به صورت زیر است :
Syntax | soap:encodingStyle = ” URI “ |
پارامتر URI به آدرس Namespace ای اشاره می کند ، که تعیین کننده انواع داده ای برای پیام SOAP است . در مثال زیر نحوه به کار بردن این خاصیت را نمایش داده و آدرس رایج و متداول برای آن نیز ذکر شده است :
تعریف خاصیت encodingstyle SOAP در پیام |
<?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 محتویات پیام </soap:envelope> |