Condividi tramite


<soapProcessingExtension>

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

Gerarchia dello schema

<system.serviceModel>
  <comportamenti>
    <comportamentiEndpoint>
      <behavior> di <endpointBehaviors>
        <soapProcessingExtension>

Sintassi

<synchronousReceive />

Attributi ed elementi

Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.

Attributi

Elemento Descrizione

processMessages

Valore booleano che specifica se è necessario effettuare il marshalling dei messaggi tra le versioni di messaggi SOAP.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione

<behavior> di <endpointBehaviors>

Specifica un comportamento dell'endpoint.

Osservazioni

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

Il servizio di routing Windows Communication Foundation (WCF) è in grado di convertire 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 mediante la costruzione di un nuovo messaggio WCF contenente la parte del corpo e le intestazioni pertinenti del messaggio WCF in ingresso. Le intestazioni specifiche dell'indirizzamento o quelle riconosciute al livello del router non vengono utilizzate 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> è il comportamento di un endpoint applicato a tutti gli endpoint client (in uscita) all'avvio del servizio di routing. Per impostazione predefinita, il comportamento <routingExtension> di <serviceBehavior> determina la creazione e il collegamento di 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 su tutti gli endpoint, impostare l'attributo soapProcessing del comportamento <routingExtension> di <serviceBehavior> 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 <routingExtension> di <serviceBehavior> determina l'impostazione del servizio di routing, la riapplicazione del comportamento dell'endpoint verrà ignorata fino a quando non ne esiste già un altro.

Vedere anche

Riferimento

SoapProcessingExtensionElement
SoapProcessingBehavior