SoapHttpClientProtocol Classe

Definizione

Specifica il client della classe da cui derivano i proxy quando si utilizza SOAP.

public ref class SoapHttpClientProtocol : System::Web::Services::Protocols::HttpWebClientProtocol
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
type SoapHttpClientProtocol = class
    inherit HttpWebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type SoapHttpClientProtocol = class
    inherit HttpWebClientProtocol
Public Class SoapHttpClientProtocol
Inherits HttpWebClientProtocol
Ereditarietà
Attributi

Esempio

L'esempio di codice seguente è una classe proxy generata da Wsdl.exe per il Math servizio Web XML. La classe proxy deriva da SoapHttpClientProtocol, che deriva dalla classe astratta WebClientProtocol .

#using <System.Web.Services.dll>
#using <System.Xml.dll>
#using <System.dll>

using namespace System::Diagnostics;
using namespace System::Xml::Serialization;
using namespace System;
using namespace System::Web::Services::Protocols;
using namespace System::Web::Services;

namespace MyMath
{

   [System::Web::Services::WebServiceBindingAttribute(Name="MyMathSoap",Namespace="http://www.contoso.com/")]
   public ref class MyMath: public System::Web::Services::Protocols::SoapHttpClientProtocol
   {
   public:

      [System::Diagnostics::DebuggerStepThroughAttribute]
      MyMath()
      {
         this->Url = "http://www.contoso.com/math.asmx";
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      [System::Web::Services::Protocols::SoapDocumentMethodAttribute("http://www.contoso.com/Add",
      RequestNamespace="http://www.contoso.com/",ResponseNamespace="http://www.contoso.com/",
      Use=System::Web::Services::Description::SoapBindingUse::Literal,
      ParameterStyle=System::Web::Services::Protocols::SoapParameterStyle::Wrapped)]
      int Add( int num1, int num2 )
      {
         array<Object^>^temp0 = {num1,num2};
         array<Object^>^results = this->Invoke( "Add", temp0 );
         return  *dynamic_cast<int^>(results[ 0 ]);
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      System::IAsyncResult^ BeginAdd( int num1, int num2, System::AsyncCallback^ callback, Object^ asyncState )
      {
         array<Object^>^temp1 = {num1,num2};
         return this->BeginInvoke( "Add", temp1, callback, asyncState );
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      int EndAdd( System::IAsyncResult^ asyncResult )
      {
         array<Object^>^results = this->EndInvoke( asyncResult );
         return  *dynamic_cast<int^>(results[ 0 ]);
      }

   };

}


namespace MyMath {
    using System.Diagnostics;
    using System.Xml.Serialization;
    using System;
    using System.Web.Services.Protocols;
    using System.Web.Services;

    [System.Web.Services.WebServiceBindingAttribute(Name="MyMathSoap", Namespace="http://www.contoso.com/")]
    public class MyMath : System.Web.Services.Protocols.SoapHttpClientProtocol {

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public MyMath() {
            this.Url = "http://www.contoso.com/math.asmx";
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace="http://www.contoso.com/", ResponseNamespace="http://www.contoso.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int Add(int num1, int num2) {
            object[] results = this.Invoke("Add", new object[] {num1,
                        num2});
            return ((int)(results[0]));
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("Add", new object[] {num1,
                        num2}, callback, asyncState);
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public int EndAdd(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
    }
}

Option Strict On
Option Explicit On

Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization

Namespace MyMath
    
    <System.Web.Services.WebServiceBindingAttribute(Name:="MyMathSoap", [Namespace]:="http://www.contoso.com/")>  _
    Public Class MyMath
        Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Sub New()
            MyBase.New
            Me.Url = "http://www.contoso.com/math.asmx"
        End Sub
        
        <System.Diagnostics.DebuggerStepThroughAttribute(),  _
         System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace:="http://www.contoso.com/", ResponseNamespace:="http://www.contoso.com/", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)>  _
        Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
            Dim results() As Object = Me.Invoke("Add", New Object() {num1, num2})
            Return CType(results(0),Integer)
        End Function
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Function BeginAdd(ByVal num1 As Integer, ByVal num2 As Integer, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
            Return Me.BeginInvoke("Add", New Object() {num1, num2}, callback, asyncState)
        End Function
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer
            Dim results() As Object = Me.EndInvoke(asyncResult)
            Return CType(results(0),Integer)
        End Function
    End Class
End Namespace

L'esempio di codice seguente è il Math servizio Web XML, da cui è stata generata la classe proxy precedente.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.

<%@ WebService Language="C#" Class="MyMath"%>
 using System.Web.Services;
 using System;
 
 [WebService(Namespace="http://www.contoso.com/")] 
 public class MyMath {
    
    [ WebMethod ]
    public int Add(int num1, int num2) {
        return num1+num2;
    }
 }
<%@ WebService Language="VB" Class="MyMath"%>
Imports System.Web.Services
Imports System

<WebService(Namespace:="http://www.contoso.com/")> _
Public Class MyMath
    <WebMethod()> _
    Public Function Add(num1 As Integer, num2 As Integer) As Integer
        Return num1 + num2
    End Function 'Add
End Class 'Math

Commenti

Se si compila un client del servizio Web XML, è necessario creare una classe proxy che deriva indirettamente o direttamente da WebClientProtocol per il servizio Web XML. Quando il client del servizio Web XML chiama tramite SOAP, la classe proxy deve derivare da SoapHttpClientProtocol, che deriva da HttpWebClientProtocol. HttpWebClientProtocol, a sua volta, deriva da WebClientProtocol.

Per comunicare con un servizio Web XML, creare una classe proxy che deriva indirettamente o direttamente da WebClientProtocol per il servizio Web XML che si desidera chiamare. Anziché creare manualmente la classe proxy, usare lo strumento Web Services Description Language (Wsdl.exe) per creare una classe proxy per una descrizione del servizio Web XML specificata. Quando viene generata una classe proxy per il protocollo SOAP, le chiamate sincrone ai metodi del servizio Web XML vengono effettuate tramite il Invoke metodo , mentre le chiamate asincrone vengono effettuate usando il BeginInvoke metodo e il EndInvoke metodo .

Note per gli eredi

Quando si esegue l'override di questa classe, è possibile introdurre metodi nella classe derivata specifici di un particolare tipo di servizio Web XML. I metodi acquisiscono i parametri e chiamano la classe base per eseguire le operazioni di comunicazione con il servizio Web XML. Se i metodi introdotti sono asincroni, chiamare il BeginInvoke(String, Object[], AsyncCallback, Object) metodo e il EndInvoke(IAsyncResult) metodo . Se i metodi introdotti sono sincroni, chiamare il Invoke(String, Object[]) metodo . Il costruttore sottoposto a override imposta in genere la Url proprietà sull'URL del metodo del servizio Web XML.

Costruttori

SoapHttpClientProtocol()

Inizializza una nuova istanza della classe SoapHttpClientProtocol.

Proprietà

AllowAutoRedirect

Ottiene o imposta se il client segue automaticamente i reindirizzamenti del server.

(Ereditato da HttpWebClientProtocol)
CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
ClientCertificates

Ottiene l’insieme di certificati client.

(Ereditato da HttpWebClientProtocol)
ConnectionGroupName

Ottiene o imposta il nome del gruppo di connessione per la richiesta.

(Ereditato da WebClientProtocol)
Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
CookieContainer

Ottiene o imposta l’insieme di cookie.

(Ereditato da HttpWebClientProtocol)
Credentials

Ottiene o imposta le credenziali di sicurezza per l'autenticazione del client di servizio Web XML.

(Ereditato da WebClientProtocol)
DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.

(Ereditato da Component)
EnableDecompression

Ottiene o imposta un valore che indica se la decompressione è abilitata per questo HttpWebClientProtocol.

(Ereditato da HttpWebClientProtocol)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.

(Ereditato da Component)
PreAuthenticate

Ottiene o imposta un valore che indica se la preautenticazione è attivata.

(Ereditato da WebClientProtocol)
Proxy

Ottiene o imposta le informazioni proxy per eseguire una richiesta di servizi Web XML attraverso un firewall.

(Ereditato da HttpWebClientProtocol)
RequestEncoding

La codifica (Encoding) utilizzata per effettuare la richiesta al servizio Web XML.

(Ereditato da WebClientProtocol)
Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)
SoapVersion

Ottiene o imposta la versione del protocollo SOAP utilizzato per effettuare la richiesta SOAP al servizio Web XML.

Timeout

Indica il tempo di attesa di un client del servizio Web XML dell'arrivo della risposta a una richiesta sincrona al servizio Web XML (espresso in millisecondi).

(Ereditato da WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Ottiene o imposta un valore che indica se la condivisione di connessioni è attivata quando il client utilizza l'autenticazione NTLM per collegarsi al server Web che contiene il servizio Web XML.

(Ereditato da HttpWebClientProtocol)
Url

Ottiene o imposta l'URL di base del servizio Web XML richiesto dal client.

(Ereditato da WebClientProtocol)
UseDefaultCredentials

Ottiene o imposta un valore che indica se impostare la proprietà Credentials sul valore della proprietà DefaultCredentials.

(Ereditato da WebClientProtocol)
UserAgent

Ottiene o imposta il valore dell'intestazione dell'agente utente inviata con ogni richiesta.

(Ereditato da HttpWebClientProtocol)

Metodi

Abort()

Annulla una richiesta a un metodo di servizio Web XML.

(Ereditato da WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Avvia una chiamata asincrona di un metodo del servizio Web XML tramite SOAP.

CancelAsync(Object)

Annulla una chiamata asincrona a un metodo di servizio Web XML, a meno che la chiamata non sia stata già completata.

(Ereditato da HttpWebClientProtocol)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Discover()

Esegue il collegamento dinamico a un servizio Web XML descritto nel documento di individuazione in Url.

Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.

(Ereditato da Component)
EndInvoke(IAsyncResult)

Chiude una chiamata asincrona del metodo di un servizio Web XML tramite SOAP.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleta.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Restituisce un oggetto XmlReader inizializzato con la proprietà Stream del parametro SoapClientMessage.

GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetWebRequest(Uri)

Crea un oggetto WebRequest per l'oggetto uri specificato.

GetWebResponse(WebRequest)

Restituisce una risposta da una richiesta sincrona a un metodo di servizio Web XML.

(Ereditato da HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Restituire una risposta da una richiesta asincrona a un metodo di servizio Web XML.

(Ereditato da HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Restituisce un oggetto XmlWriter inizializzato con la proprietà Stream del parametro SoapClientMessage.

InitializeLifetimeService()
Obsoleta.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
Invoke(String, Object[])

Richiama in modo sincrono il metodo di un servizio Web XML tramite SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Richiama il metodo specificato in modo asincrono.

InvokeAsync(String, Object[], SendOrPostCallback, Object)

Richiama il metodo specificato in modo asincrono.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().

(Ereditato da Component)

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche