Condividi tramite


Aggiunta di intestazioni SOAP alle applicazioni client

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

SQL Server supporta le intestazioni di estensione SOAP quando si utilizzano i servizi Web XML nativi. È possibile utilizzare queste intestazioni per estendere e migliorare le applicazioni basate su SOAP utilizzando opzioni SQL e altre intestazioni di estensione SOAP supportate, ad esempio sessioni SOAP e Web Services Security (WS-Security). Per ulteriori informazioni, vedere Intestazioni di estensioni SOAP.

Questo argomento contiene una libreria di classi di esempio che implementa tutte le intestazioni di estensione SOAP opzionali supportate da SQL Server. La libreria può essere aggiunta ai progetti client SOAP di Visual Studio 2005 esistenti. Sono incluse le applicazioni di esempio disponibili in Applicazioni di esempio per l'invio di richieste ai servizi Web XML nativi.

È inoltre consigliabile consultare gli argomenti seguenti se si sta lavorando con le intestazioni che implementano protezione o supporto delle sessioni utilizzando le instestazioni di estensione SOAP appropriate per ogni funzionalità.

[!NOTA]

Nella procedura seguente si presuppone che l'utente abbia creato un'applicazione client SOAP utilizzando Visual Studio 2005 e abbia aggiunto un riferimento Web a un endpoint HTTP SOAP creato utilizzando SQL Server, come illustrato nell'argomento Invio di richieste SOAP utilizzando il client di Visual Studio 2005 (C#).

Per aggiungere la libreria di classi di esempio delle intestazioni di estensione SOAP in un progetto Visual Studio

  1. Utilizzando Blocco note, copiare e incollare il contenuto dellistato di codice C# per la libreria di classi di esempio delle intestazioni SOAP SQL e salvarlo con il nome "SqlSoapHeader.cs" nella stessa cartella che contiene i file del progetto client SOAP.

  2. Nel computer client avviare Microsoft Visual Studio 2005 dal gruppo di programmi Microsoft Visual Studio 2005 .

  3. Fare clic su Apri progetto.

  4. Individuare e selezionare i file del progetto client SOAP ( con estensione csproj).

  5. Nella finestra Esplora soluzioni eseguire la procedura seguente:

    1. Selezionare il nome del progetto, fare clic sul nome con il pulsante destro del mouse, scegliere Aggiungi e quindi Aggiungi elemento esistente.

    2. Nella finestra di dialogo Aggiungi elemento esistente individuare e selezionare il file SqlSoapHeader.cs dalla posizione in cui è stato salvato nel passaggio 1.

    3. Selezionare Mostra tutti i file, espandere il nodo Riferimenti Web e selezionare il file Reference.cs.

  6. Nella finestra Editor del codice aggiornare il file Reference.cs per aggiungere una variabile pubblica alla definizione della classe dell'endpoint. La variabile deve essere della stessa classe SqlSoapHeader del tipo di intestazione SOAP opzionale.

    Ad esempio, per aggiungere una variabile di proprietà pubblica denominata "sqlSecurity" della classe SqlSoapHeader.Security al file Reference.cs sotto la definizione della classe dell'endpoint ("sql_endpoint"), è necessario aggiungere la riga di codice seguente:

    public class sql_endpoint : System.Web.Services.Protocols.SoapHttpClientProtocol {
         public SqlSoapHeader.Security  sqlSecurity
    
  7. Aggiungere la proprietà SoapHeaderAttribute appropriata al metodo Web per il quale si desidera attivare l'intestazione SOAP.

    Ad esempio, se si sta implementando la classe Security, è necessario aggiungere la riga di codice seguente:

    [System.Web.Services.Protocols.SoapHeaderAttribute("sqlSecurity")]
    public int UDFReturningAScalar() {...}
    

    [!NOTA]

    In questo esempio il valore dell'argomento sqlSecurity utilizzato con SoapHeaderAttribute deve corrispondere al nome della variabile utilizzato nel passaggio precedente.