SoapHttpClientProtocol Classe

Definizione

Specifica il client della classe da cui derivano i proxy quando si utilizza SOAP.Specifies the class client that proxies derive from when using SOAP.

public ref 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
Public Class SoapHttpClientProtocol
Inherits HttpWebClientProtocol
Ereditarietà
Attributi

Esempi

Nell'esempio di codice seguente viene rappresentata una classe proxy generata da WSDL. Math exe per il servizio Web XML.The following code example is a proxy class generated by Wsdl.exe for the Math XML Web service. La classe proxy deriva da SoapHttpClientProtocol, che deriva dalla classe astratta. WebClientProtocolThe proxy class derives from SoapHttpClientProtocol, which derives from the abstract WebClientProtocol class.

#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 è Math il servizio Web XML, da cui è stata generata la classe proxy precedente.The following code example is the Math XML Web service, from which the preceding proxy class was generated.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza.This example has a text box that accepts user input, which is a potential security threat. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.For more information, see Script Exploits Overview.

<%@ 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 WebClientProtocol da per il servizio Web XML.If you are building an XML Web service client, then a proxy class that derives indirectly or directly from WebClientProtocol must be created for the XML Web service. Quando il client del servizio Web XML chiama usando SOAP, la classe proxy deve derivare da SoapHttpClientProtocol, che deriva da. HttpWebClientProtocolWhen the XML Web service client calls using SOAP, the proxy class must derive from SoapHttpClientProtocol, which derives from HttpWebClientProtocol. HttpWebClientProtocol, a sua volta, deriva da WebClientProtocol.HttpWebClientProtocol, in turn, derives from WebClientProtocol.

Per comunicare con un servizio Web XML, creare una classe proxy che derivi indirettamente o direttamente da WebClientProtocol per il servizio Web XML che si desidera chiamare.To communicate with an XML Web service, create a proxy class that derives indirectly or directly from WebClientProtocol for the XML Web service you want to call. Anziché creare manualmente la classe proxy, usare lo strumento Web Services Description Language (WSDL. exe) per creare una classe proxy per la descrizione del servizio del servizio Web XML specificata.Instead of creating the proxy class manually, use the Web Services Description Language tool (Wsdl.exe) to create a proxy class for a given XML Web service's service description. Quando viene generata una classe proxy per il protocollo SOAP, le chiamate sincrone ai metodi del servizio Web XML vengono Invoke eseguite tramite il metodo, mentre le chiamate asincrone BeginInvoke vengono effettuate utilizzando EndInvoke il metodo e il metodo.When a proxy class is generated for the SOAP protocol, synchronous calls to XML Web service methods are made via the Invoke method, whereas asynchronous calls are made using the BeginInvoke method and the EndInvoke method.

Note per gli eredi

Quando si esegue l'override di questa classe, è possibile introdurre metodi nella classe derivata che sono specifici di un particolare tipo di servizio Web XML.When you override this class, you can introduce methods in the derived class which are specific to a particular type of XML Web service. I metodi acquisiscono i parametri e chiamano la classe di base per eseguire le operazioni di comunicazione con il servizio Web XML.The methods capture the parameters and call the base class to do the work of communicating with the XML Web service. Se i metodi introdotti sono asincroni, chiamare BeginInvoke(String, Object[], AsyncCallback, Object) il metodo e EndInvoke(IAsyncResult) il metodo.If the introduced methods are asynchronous, call the BeginInvoke(String, Object[], AsyncCallback, Object) method and the EndInvoke(IAsyncResult) method. Se i metodi introdotti sono sincroni, chiamare Invoke(String, Object[]) il metodo.If the introduced methods are synchronous, call the Invoke(String, Object[]) method. Il costruttore sottoposto a override in Url genere imposta la proprietà sull'URL del metodo del servizio Web XML.The overridden constructor typically sets the Url property to the URL of the XML Web service method.

Costruttori

SoapHttpClientProtocol()

Inizializza una nuova istanza della classe SoapHttpClientProtocol.Initializes a new instance of the SoapHttpClientProtocol class.

Proprietà

AllowAutoRedirect

Ottiene o imposta se il client segue automaticamente i reindirizzamenti del server.Gets or sets whether the client automatically follows server redirects.

(Ereditato da HttpWebClientProtocol)
CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Ereditato da Component)
ClientCertificates

Ottiene l’insieme di certificati client.Gets the collection of client certificates.

(Ereditato da HttpWebClientProtocol)
ConnectionGroupName

Ottiene o imposta il nome del gruppo di connessione per la richiesta.Gets or sets the name of the connection group for the request.

(Ereditato da WebClientProtocol)
Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Ereditato da Component)
CookieContainer

Ottiene o imposta l’insieme di cookie.Gets or sets the collection of cookies.

(Ereditato da HttpWebClientProtocol)
Credentials

Ottiene o imposta le credenziali di sicurezza per l'autenticazione del client di servizio Web XML.Gets or sets security credentials for XML Web service client authentication.

(Ereditato da WebClientProtocol)
DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Ereditato da Component)
EnableDecompression

Ottiene o imposta un valore che indica se la decompressione è abilitata per questo HttpWebClientProtocol.Gets or sets a value that indicates whether decompression is enabled for this HttpWebClientProtocol.

(Ereditato da HttpWebClientProtocol)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Ereditato da Component)
PreAuthenticate

Ottiene o imposta un valore che indica se la preautenticazione è attivata.Gets or sets whether pre-authentication is enabled.

(Ereditato da WebClientProtocol)
Proxy

Ottiene o imposta le informazioni proxy per eseguire una richiesta di servizi Web XML attraverso un firewall.Gets or sets proxy information for making an XML Web service request through a firewall.

(Ereditato da HttpWebClientProtocol)
RequestEncoding

La codifica (Encoding) utilizzata per effettuare la richiesta al servizio Web XML.The Encoding used to make the client request to the XML Web service.

(Ereditato da WebClientProtocol)
Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Ereditato da Component)
SoapVersion

Ottiene o imposta la versione del protocollo SOAP utilizzato per effettuare la richiesta SOAP al servizio Web XML.Gets or sets the version of the SOAP protocol used to make the SOAP request to the XML Web service.

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).Indicates the time an XML Web service client waits for the reply to a synchronous XML Web service request to arrive (in milliseconds).

(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.Gets or sets a value that indicates whether connection sharing is enabled when the client uses NTLM authentication to connect to the Web server that hosts the XML Web service.

(Ereditato da HttpWebClientProtocol)
Url

Ottiene o imposta l'URL di base del servizio Web XML richiesto dal client.Gets or sets the base URL of the XML Web service the client is requesting.

(Ereditato da WebClientProtocol)
UseDefaultCredentials

Ottiene o imposta un valore che indica se impostare la proprietà Credentials sul valore della proprietà DefaultCredentials.Gets or sets a value that indicates whether to set the Credentials property to the value of the DefaultCredentials property.

(Ereditato da WebClientProtocol)
UserAgent

Ottiene o imposta il valore dell'intestazione dell'agente utente inviata con ogni richiesta.Gets or sets the value for the user agent header that is sent with each request.

(Ereditato da HttpWebClientProtocol)

Metodi

Abort()

Annulla una richiesta a un metodo di servizio Web XML.Cancels a request to an XML Web service method.

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

Avvia una chiamata asincrona di un metodo del servizio Web XML tramite SOAP.Starts an asynchronous invocation of an XML Web service method using SOAP.

CancelAsync(Object)

Annulla una chiamata asincrona a un metodo di servizio Web XML, a meno che la chiamata non sia stata già completata.Cancels an asynchronous call to an XML Web service method, unless the call has already completed.

(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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Discover()

Esegue il collegamento dinamico a un servizio Web XML descritto nel documento di individuazione in Url.Dynamically binds to an XML Web service described in the discovery document at Url.

Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Ereditato da Component)
EndInvoke(IAsyncResult)

Chiude una chiamata asincrona del metodo di un servizio Web XML tramite SOAP.Ends an asynchronous invocation of an XML Web service method using SOAP.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Restituisce un oggetto XmlReader inizializzato con la proprietà Stream del parametro SoapClientMessage.Returns an XmlReader initialized with the Stream property of the SoapClientMessage parameter.

GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
GetWebRequest(Uri)

Crea un oggetto WebRequest per l'oggetto uri specificato.Creates a WebRequest for the specified uri.

GetWebResponse(WebRequest)

Restituisce una risposta da una richiesta sincrona a un metodo di servizio Web XML.Returns a response from a synchronous request to an XML Web service method.

(Ereditato da HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Restituire una risposta da una richiesta asincrona a un metodo di servizio Web XML.Returns a response from an asynchronous request to an XML Web service method.

(Ereditato da HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Restituisce un oggetto XmlWriter inizializzato con la proprietà Stream del parametro SoapClientMessage.Returns a XmlWriter initialized with the Stream property of the SoapClientMessage parameter.

InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Richiama in modo sincrono il metodo di un servizio Web XML tramite SOAP.Invokes an XML Web service method synchronously using SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Richiama il metodo specificato in modo asincrono.Invokes the specified method asynchronously.

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

Richiama il metodo specificato in modo asincrono.Invokes the specified method asynchronously.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Ereditato da Component)

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Ereditato da Component)

Si applica a

Thread safety

Questo tipo è thread-safe.This type is thread safe.

Vedi anche