Элемент заголовкаSOAP


Необязательный элемент заголовка SOAP содержит информацию заголовка.


Элемент Header в SOAP

Необязательный элемент заголовка 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.w3schools.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.


Атрибут 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.w3schools.com/transaction/"
  soap:mustUnderstand="1">234
  </m:Trans>
</soap:Header>
...
...
</soap:Envelope>


Атрибут 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.w3schools.com/transaction/"
  soap:actor="http://www.w3schools.com/appml/">234
  </m:Trans>
</soap:Header>
...
...
</soap:Envelope>


Атрибут encodingStyle

Атрибут encodingStyle в SOAP используется для определения типов данных, используемых в документе. Этот атрибут может появляться в любом элементе SOAP, и он будет применяться к содержимому элемента и всем дочерним элементам этого элемента.

Сообщения SOAP не имеют метода кодирования по умолчанию.

Синтаксис

soap:encodingStyle="URI"

Другие расширения