Condividi tramite


<soapProcessing>

Definisce il comportamento dell'endpoint client usato per effettuare il marshalling dei messaggi tra versioni del messaggio e tipi di associazione diversi.

<Configurazione>
  <system.serviceModel>
    <Comportamenti>
      <endpointBehaviors>
        <Comportamento>
          <soapProcessing>

Sintassi

<soapProcessing processMessages="true|false" />

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
processMessages Valore booleano che specifica se è necessario eseguire il marshalling dei messaggi tra le versioni dei messaggi SOAP.

Elementi figlio

Nessuno

Elementi padre

Elemento Descrizione
<Comportamento> Specifica un comportamento dell'endpoint.

Commenti

L'elaborazione SOAP è il processo in cui i messaggi vengono convertiti tra le versioni dei messaggi.

Il servizio di routing di Windows Communication Foundation (WCF) può convertire i messaggi da un protocollo a un altro. Se le versioni del messaggio in ingresso e in uscita sono diverse, viene creato un nuovo messaggio della versione corretta. L'elaborazione di messaggi da un oggetto MessageVersion a un altro viene eseguita costruendo un nuovo messaggio WCF contenente la parte del corpo e le relative intestazioni dal messaggio WCF in ingresso. Le intestazioni specifiche dell'indirizzamento o quelle riconosciute al livello del router non vengono usate durante la costruzione del nuovo messaggio WCF, poiché queste intestazioni presentano una versione diversa (nel caso delle intestazioni di indirizzamento) o sono state elaborate come parte della comunicazione tra il client e il router.

Il posizionamento di un'intestazione nel messaggio in uscita viene determinato dal fatto che essa venga contrassegnata o meno come riconosciuta quando è passata attraverso il livello del canale in ingresso. Le intestazioni non riconosciute (ad esempio le intestazioni personalizzate) non vengono rimosse e passano pertanto attraverso il servizio di routing mediante copia nel messaggio in uscita. Il corpo del messaggio viene copiato nel messaggio in uscita. Il messaggio viene quindi inviato al canale di uscita al quale puntano tutte le intestazioni e verranno creati e aggiunti gli altri dati di envelope specifici di tale protocollo/trasporto di comunicazione.

Questi passaggi di elaborazione vengono eseguiti quando il comportamento di elaborazione SOAP è specificato. Questo <comportamento soapProcessingExtension> è un comportamento dell'endpoint applicato a tutti gli endpoint client (in uscita) all'avvio del servizio di routing. <Il comportamento di routing> crea e collega un nuovo <comportamento soapProcessingExtension> con processMessages impostato su true per ogni endpoint client. Se si dispone di un protocollo che il servizio di routing non interpreta o si desidera eseguire l'override del comportamento di elaborazione predefinito, è possibile disabilitare l'elaborazione SOAP per l'intero servizio di routing o solo per determinati endpoint. Per disabilitare l'elaborazione SOAP per l'intero servizio di routing in tutti gli endpoint, impostare l'attributo soapProcessing del comportamento di <routing> su false. Per disattivare l'elaborazione SOAP per un determinato endpoint, utilizzare questo comportamento e impostare l'attributo processMessages su false, quindi collegare questo comportamento all'endpoint che non si desidera venga eseguito con il codice di elaborazione predefinito. Quando il comportamento di <routing configura il servizio di routing> , ignora la riapplicazione del comportamento dell'endpoint perché ne esiste già uno.