عنصر SOAP Header

تتضمن العناصر الإطار الاختيارية معلومات الرأس.

عنصر 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>
<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 معنية بنقلها إلى النقطة النهائية النهائية للرسالة، ولكن من جهة أخرى، قد تكون معنية بنقلها إلى نقطة أو نقاط معينة في مسار الرسالة.

سمة actor في SOAP يمكن استخدامها لتحديد عنوان العنصر الإطار إلى نقطة النهاية المحددة.

النحو

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 في الفقرة السابقة.