Freigeben über


<soapProcessing>

Definiert das Clientendpunktverhalten, das verwendet wird, um Nachrichten zwischen unterschiedlichen Bindungstypen und Nachrichtenversionen zu marshallen.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <soapProcessing>

Syntax

<soapProcessing processMessages="true|false" />

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

attribute BESCHREIBUNG
processMessages Ein boolescher Wert, der angibt, ob Nachrichten zwischen SOAP-Nachrichtenversionen gemarshallt werden sollen

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
<behavior> Gibt ein Endpunktverhalten an.

Bemerkungen

SOAP-Verarbeitung ist der Prozess, bei dem Nachrichten zwischen Nachrichtenversionen konvertiert werden.

Der Windows Communication Foundation-Routingdienst (WCF) kann Nachrichten aus einem Protokoll in ein anderes konvertieren. Wenn die Versionen eingehender und ausgehender Nachrichten unterschiedlich sind, wird eine neue Nachricht mit der richtigen Version erstellt. Meldungen werden von einer MessageVersion zu einer anderen verarbeitet, indem eine neue WCF-Meldung erstellt wird, die den Textteil und relevante Header von der eingehenden WCF-Meldung enthält. Header, die adressierungsspezifisch sind oder auf Routerebene verstanden werden, werden während der Erstellung der neuen WCF-Nachricht nicht verwendet, da diese Header entweder eine andere Version haben (im Fall von Adressierungsheadern) oder als Teil der Kommunikation zwischen dem Client und dem Router verarbeitet wurden.

Ob ein Header in der ausgehenden Nachricht eingefügt wird, wird dadurch bestimmt, ob er als verstanden markiert wurde, als er die eingehende Channelebene durchlief. Nicht akzeptierte Header (z. B. benutzerdefinierte Header) werden nicht entfernt und durchlaufen den Routingdienst, indem sie in die ausgehende Nachricht kopiert werden. Der Nachrichtentext wird in die ausgehende Nachricht kopiert. Die Nachricht wird dann über den Kanal für ausgehende Nachrichten gesendet. Zu diesem Zeitpunkt werden alle relevanten Header und anderen für das Kommunikationsprotokoll/den Transport relevanten Umschlagdaten erstellt und hinzugefügt.

Diese Verarbeitungsschritte erfolgen, wenn das SOAP-Verarbeitungsverhalten angegeben ist. Dieses <soapProcessingExtension>-Verhalten ist ein Endpunktverhalten, das auf alle (ausgehende) Clientendpunkte angewendet wird, wenn der Routingdienst gestartet wird. Standardmäßig erstellt das <routing>-Verhalten ein neues <soapProcessingExtension>-Verhalten und fügt es an, wobei processMessages für jeden Clientendpunkt auf true festgelegt ist. Wenn Sie ein Protokoll haben, das vom Routingdienst nicht akzeptiert wird, oder das Standardverarbeitungsverhalten überschreiben möchten, können Sie die SOAP-Verarbeitung entweder für den gesamten Routingdienst oder für bestimmte Endpunkte deaktivieren. Um die SOAP-Verarbeitung für den gesamten Routingdienst auf allen Endpunkten zu deaktivieren, legen Sie das soapProcessing-Attribut des<routing>-Verhaltens auf false fest. Um die SOAP-Verarbeitung für einen bestimmten Endpunkt zu deaktivieren, verwenden Sie dieses Verhalten und legen Sie das processMessages-Attribut dieses Verhaltens auf false fest. Fügen Sie das Verhalten dann an den Endpunkt an, für den Sie den Standardverarbeitungscode deaktivieren möchten. Wenn das <routing>-Verhalten den Routingdienst einrichtet, wird das erneute Anwenden des Endpunktverhaltens übersprungen, da bereits eines vorhanden ist.