Элемент SOAP Header

Опциональные элементы SOAP Header содержат информацию заголовка.

Элемент SOAP Header

Опциональные элементы 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 определяет три атрибута в-default命名ном пространстве ("http://www.w3.org/2001/12/soap-envelope"). Эти три атрибута: actor, mustUnderstand и encodingStyle. Эти атрибуты, определенные в заголовке SOAP, определяют, как контейнер обрабатывает SOAP-сообщение.

Атрибут actor

Пропагируя SOAP-сообщение по пути через различные узлы, 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 был объяснен в предыдущем разделе.