عنصر SOAP Header

عناصر سربرگ انتخابی شامل اطلاعات سربرگ هستند.

عنصر SOAP Header

عناصر سربرگ SOAP انتخابی می‌توانند اطلاعات اختصاصی برنامه‌ای در مورد پیام SOAP را شامل شوند (مثل احراز هویت، پرداخت و غیره). اگر سربرگ Header ارائه شود، باید اولین فرزند عنصر Envelope باشد.

نکته:تمام فرزندان مستقیم Header باید در فضای نام معتبر باشند.

<?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>
<m:Trans
xmlns:m="http://www.codew3c.com/transaction/"
soap:mustUnderstand="1">234</m:Trans>
</soap:Header>
...
...
</soap:Envelope>

مثال بالا شامل سربری با یک عنصر "Trans" است که مقدار آن 234 است و ویژگی "mustUnderstand" این عنصر مقدار "1" دارد.

SOAP سه ویژگی در فضای نام پیش‌فرض ("http://www.w3.org/2001/12/soap-envelope") تعریف کرده است. این سه ویژگی عبارتند از: actor، mustUnderstand و encodingStyle. این ویژگی‌ها که در سربرگ SOAP تعریف شده‌اند، تعیین می‌کنند که چگونه یک کانتینر باید پیام SOAP را پردازش کند.

ویژگی actor

با حرکت پیام SOAP از طریق مسیر پیام‌ها، پیام SOAP می‌تواند از یک فرستنده به یک گیرنده منتشر شود. تمام بخش‌های پیام SOAP نمی‌بایست به نقطه پایانی نهایی پیام منتقل شوند، اما از سوی دیگر، ممکن است به یک یا چند نقطه پایانی مسیر پیام منتقل شوند.

امکان استفاده از ویژگی actor SOAP برای هدف‌گذاری Header عناصر به یک نقطه خاص وجود دارد.

نحوه استفاده

soap:actor="URI"

مثال

<?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>
<m:Trans
xmlns:m="http://www.codew3c.com/transaction/"
soap:actor="http://www.codew3c.com/appml/">
234
</m:Trans>
</soap:Header>
...
...
</soap:Envelope>

ویژگی mustUnderstand

ویژگی mustUnderstand SOAP می‌تواند برای شناسایی اینکه آیا یک سربرگ برای گیرنده‌ای که باید آن را پردازش کند، اجباری است یا اختیاری استفاده شود.

اگر شما "mustUnderstand="1" را به یکی از زیرعناصر عنصر Header اضافه کنید، می‌تواند به گیرنده‌ای که باید این سربرگ را پردازش کند، نشان دهد که این عنصر باید پذیرفته شود. اگر این گیرنده نمی‌تواند این عنصر را پذیرفت، باید در هنگام پردازش سربرگ معتبر باشد.

نحوه استفاده

soap:mustUnderstand="0|1"

مثال

<?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>
<m:Trans
xmlns:m="http://www.codew3c.com/transaction/"
soap:mustUnderstand="1">
234
</m:Trans>
</soap:Header>
...
...
</soap:Envelope>

ویژگی encodingStyle

ویژگی encodingStyle SOAP در بخش قبل توضیح داده شده است.