SoapHttpClientProtocol Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 sta creando un client del servizio Web XML, è necessario creare una classe proxy che deriva indirettamente o direttamente dal WebClientProtocol servizio Web XML. Quando il client del servizio Web XML chiama tramite SOAP, la classe proxy deve derivare da , che deriva da SoapHttpClientProtocolHttpWebClientProtocol. HttpWebClientProtocol, a sua volta, deriva da WebClientProtocol.
Per comunicare con un servizio Web XML, creare una classe proxy che deriva indirettamente o direttamente dal WebClientProtocol servizio Web XML che si vuole chiamare. Anziché creare manualmente la classe proxy, usare lo strumento Web Services Description Language (Wsdl.exe) per creare una classe proxy per una determinata descrizione del servizio Web XML. Quando viene generata una classe proxy per il protocollo SOAP, vengono eseguite chiamate sincrone ai metodi del servizio Web XML tramite il Invoke metodo, mentre le chiamate asincrone vengono eseguite usando il metodo e il BeginInvokeEndInvoke metodo.
Note per gli eredi
Quando si esegue l'override di questa classe, è possibile introdurre metodi nella classe derivata specifica di un particolare tipo di servizio Web XML. I metodi acquisiscono i parametri e chiamano la classe base per eseguire il lavoro 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() |
Obsoleti.
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 |
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() |
Obsoleti.
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.