Поделиться через


<soapProcessingExtension>

Определяет поведение конечной точки клиента, используемое для упаковки сообщений между различными типами привязок и версиями сообщения.

Иерархия схемы

<system.serviceModel>
  <варианты поведения>
    <endpointBehaviors>
      <behavior> для <endpointBehaviors>
        <soapProcessingExtension>

Синтаксис

                <synchronousReceive />

Атрибуты и элементы

В следующих разделах описываются атрибуты, дочерние и родительские элементы.

Атрибуты

Элемент Описание

processMessages

Логическое значение, указывающее, нужно ли выполнять упаковку сообщений между различными версиями SOAP.

Дочерние элементы

Нет.

Родительские элементы

Элемент Описание

<behavior> для <endpointBehaviors>

Задает поведение конечной точки.

Замечания

Обработка SOAP — это процесс преобразования сообщения из одной версии в другую.

Служба маршрутизации Windows Communication Foundation (WCF) может преобразовывать сообщения из одного протокола в другой. Если исходящее и входящее сообщение имеют разные версии, создается новое сообщение с правильной версией. Преобразование сообщений из одного MessageVersion в другой выполняется путем составления нового сообщения WCF, содержащего текстовую часть и соответствующие заголовки из входящего сообщения WCF. Заголовки, заданные для адресации или распознаваемые на уровне маршрутизатора, не применяются при построении нового сообщения WCF, так как эти заголовки либо имеют другую версию (в случае заголовков адресации), либо обрабатываются на этапе связи между клиентом и маршрутизатором.

Будет ли заголовок добавлен в исходящее сообщение, зависит от того, было ли это сообщение помечено как распознанное при прохождении уровня входящего канала. Заголовки, которые не удалось распознать (например, пользовательские заголовки), не удаляются и проходят через службу маршрутизации (копируются в исходящее сообщение). Текст сообщения копируется в исходящее сообщение. Затем сообщение отправляется по исходящему каналу. К этому моменту создаются и добавляются все заголовки и другие данные конверта, относящиеся к этому протоколу связи или транспорта.

Эти шаги обработки выполняются, если определено поведение обработки SOAP. Данное поведение <soapProcessingExtension><routingExtension> для <serviceBehavior><soapProcessingExtension>processMessages, при этом true имеет значение для каждой клиентской конечной точки. Если служба маршрутизации не поддерживает выбранный протокол или нужно переопределить режим обработки по умолчанию, можно отключить обработку протокола SOAP для всей службы маршрутизации или для отдельных конечных точек.  Чтобы отключить обработку протокола SOAP для всей службы маршрутизации во всех конечных точках, установите атрибут soapProcessing поведения <routingExtension> для <serviceBehavior> в значение false. Чтобы отключить обработку протокола SOAP для одной конечной точки, используйте это поведение и установите его атрибут processMessages в значение false. Затем присоедините это поведение к конечной точке, в которой не должен выполняться код обработки по умолчанию.  Когда поведение <routingExtension> для <serviceBehavior> будет настраивать службу маршрутизации, повторное применение поведения конечной точки не будет выполняться, поскольку поведение уже существует.

См. также

Справочник

SoapProcessingExtensionElement
SoapProcessingBehavior