Partager via


<soapProcessing>

Définit le comportement de point de terminaison client utilisé pour marshaler des messages entre les versions de message et les types de liaison différents.

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

Syntaxe

<soapProcessing processMessages="true|false" />

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
processMessages Valeur booléenne qui spécifie si les messages doivent être marshalés entre les versions des messages SOAP.

Éléments enfants

Aucun

Éléments parents

Élément Description
<behavior> Spécifie un comportement de point de terminaison.

Notes

Le traitement SOAP est le processus par lequel les messages sont convertis entre des versions de message.

Le service de routage Windows Communication Foundation (WCF) peut convertir les messages d’un protocole à un autre. Si les versions des messages entrant et sortant sont différentes, un nouveau message est créé dans la version correcte. Le traitement des messages d'un MessageVersion à un autre est accompli en construisant un nouveau message WCF qui contient le corps et les en-têtes pertinents du message WCF entrant. Les en-têtes spécifiques à l'adressage ou reconnus au niveau du routeur ne sont pas utilisés pendant la création du nouveau message WCF car ils sont de versions différentes (dans le cas d'en-têtes d'adressage) ou ont été traités dans le cadre de la communication entre le client et le routeur.

Le placement d'un en-tête dans le message sortant dépend de son balisage comme étant compris au moment où il traverse la couche du canal entrant. Les en-têtes non reconnus (tels que les en-têtes personnalisés) ne sont pas supprimés et traversent donc le service de routage en étant copiés dans le message sortant. Le corps du message est copié dans le message sortant. Le message est ensuite envoyé via le canal de sortie ; les en-têtes et autres données d'enveloppe spécifiques à ce protocole de communication/transport sont alors créés et ajoutés.

Ces étapes de traitement s'exécutent lorsque le comportement de traitement SOAP est spécifié. Ce comportement <soapProcessingExtension> est un comportement endpoint qui s’applique à tous les points de terminaison clients (sortants) au démarrage du service de routage. Par défaut, le comportement <routing> crée et attache un nouveau comportement <soapProcessingExtension> avec processMessages défini sur true pour chaque point de terminaison client. Si vous utilisez un protocole non reconnu par le service de routage ou souhaitez remplacer le comportement de traitement par défaut, vous pouvez désactiver le traitement SOAP pour l'intégralité du service de routage ou pour des points de terminaison particuliers. Pour désactiver le traitement SOAP pour l’ensemble du service de routage sur tous les points de terminaison, définissez l’attribut soapProcessing du comportement <routing> sur false. Pour désactiver le traitement SOAP pour un point de terminaison particulier, utilisez ce comportement et affectez à son attribut processMessages la valeur false, puis attachez ce comportement au point de terminaison au niveau duquel vous ne voulez pas exécuter le code de traitement par défaut. Lorsque le comportement <routing> installe le service de routage, il ne réapplique pas le comportement endpoint puisqu’il en existe déjà un.