SoapHttpClientProtocol Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Klassenclient an, von dem Proxys bei Verwendung von SOAP abgeleitet werden.
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
- Vererbung
- Attribute
Beispiele
Das folgende Codebeispiel ist eine Proxyklasse, die von Wsdl.exe für den Math XML-Webdienst generiert wird. Die Proxyklasse wird von SoapHttpClientProtocolder abstrakten WebClientProtocol Klasse abgeleitet.
#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
Das folgende Codebeispiel ist der Math XML-Webdienst, aus dem die vorherige Proxyklasse generiert wurde.
Important
In diesem Beispiel handelt es sich um ein Textfeld, das Benutzereingaben akzeptiert, bei denen es sich um eine potenzielle Sicherheitsrisiken handelt. Standardmäßig überprüfen ASP.NET Webseiten, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter 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
Hinweise
Wenn Sie einen XML-Webdienstclient erstellen, muss eine Proxyklasse, die indirekt oder direkt von WebClientProtocol dem XML-Webdienst abgeleitet wird, erstellt werden. Wenn der XML-Webdienstclient mit SOAP aufruft, muss die Proxyklasse von SoapHttpClientProtocolder abgeleitet werden HttpWebClientProtocol. HttpWebClientProtocol, wiederum abgeleitet von WebClientProtocol.
Um mit einem XML-Webdienst zu kommunizieren, erstellen Sie eine Proxyklasse, die indirekt oder direkt vom WebClientProtocol XML-Webdienst abgeleitet wird, den Sie aufrufen möchten. Anstatt die Proxyklasse manuell zu erstellen, verwenden Sie das Web Services Description Language-Tool (Wsdl.exe), um eine Proxyklasse für die Dienstbeschreibung eines bestimmten XML-Webdiensts zu erstellen. Wenn eine Proxyklasse für das SOAP-Protokoll generiert wird, werden synchrone Aufrufe von XML-Webdienstmethoden über die Invoke Methode ausgeführt, während asynchrone Aufrufe mithilfe der BeginInvoke Methode und der EndInvoke Methode erfolgen.
Hinweise für Vererber
Wenn Sie diese Klasse außer Kraft setzen, können Sie Methoden in der abgeleiteten Klasse einführen, die spezifisch für einen bestimmten XML-Webdiensttyp sind. Die Methoden erfassen die Parameter und rufen die Basisklasse auf, um die Kommunikation mit dem XML-Webdienst zu erledigen. Wenn die eingeführten Methoden asynchron sind, rufen Sie die BeginInvoke(String, Object[], AsyncCallback, Object) Methode und die EndInvoke(IAsyncResult) Methode auf. Wenn die eingeführten Methoden synchron sind, rufen Sie die Invoke(String, Object[]) Methode auf. Der überschriebene Konstruktor legt die Eigenschaft in der Url Regel auf die URL der XML-Webdienstmethode fest.
Konstruktoren
| Name | Beschreibung |
|---|---|
| SoapHttpClientProtocol() |
Initialisiert eine neue Instanz der SoapHttpClientProtocol-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllowAutoRedirect |
Ruft ab oder legt fest, ob der Client automatisch Serverumleitungen folgt. (Geerbt von HttpWebClientProtocol) |
| CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
| ClientCertificates |
Ruft die Sammlung von Clientzertifikaten ab. (Geerbt von HttpWebClientProtocol) |
| ConnectionGroupName |
Dient zum Abrufen oder Festlegen des Namens der Verbindungsgruppe für die Anforderung. (Geerbt von WebClientProtocol) |
| Container |
Ruft das, das IContainer die Component. (Geerbt von Component) |
| CookieContainer |
Ruft die Sammlung von Cookies ab oder legt sie fest. (Geerbt von HttpWebClientProtocol) |
| Credentials |
Ruft Sicherheitsanmeldeinformationen für die XML-Webdienstclientauthentifizierung ab oder legt diese fest. (Geerbt von WebClientProtocol) |
| DesignMode |
Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet. (Geerbt von Component) |
| EnableDecompression |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Dekomprimierung für diese HttpWebClientProtocolOption aktiviert ist. (Geerbt von HttpWebClientProtocol) |
| Events |
Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind. (Geerbt von Component) |
| PreAuthenticate |
Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist. (Geerbt von WebClientProtocol) |
| Proxy |
Dient zum Abrufen oder Festlegen von Proxyinformationen zum Erstellen einer XML-Webdienstanforderung über eine Firewall. (Geerbt von HttpWebClientProtocol) |
| RequestEncoding |
Wird Encoding verwendet, um die Clientanforderung an den XML-Webdienst zu senden. (Geerbt von WebClientProtocol) |
| Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
| SoapVersion |
Ruft die Version des SOAP-Protokolls ab, mit dem die SOAP-Anforderung an den XML-Webdienst gesendet wird, oder legt diese fest. |
| Timeout |
Gibt an, wie lange ein XML-Webdienstclient auf die Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden). (Geerbt von WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Verbindungsfreigabe aktiviert ist, wenn der Client die NTLM-Authentifizierung verwendet, um eine Verbindung mit dem Webserver herzustellen, der den XML-Webdienst hostt. (Geerbt von HttpWebClientProtocol) |
| Url |
Ruft die Basis-URL des XML-Webdiensts ab, den der Client anfordert, oder legt diese fest. (Geerbt von WebClientProtocol) |
| UseDefaultCredentials |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Credentials Eigenschaft auf den Wert der DefaultCredentials Eigenschaft festgelegt werden soll. (Geerbt von WebClientProtocol) |
| UserAgent |
Dient zum Abrufen oder Festlegen des Werts für den Benutzer-Agent-Header, der mit jeder Anforderung gesendet wird. (Geerbt von HttpWebClientProtocol) |
Methoden
| Name | Beschreibung |
|---|---|
| Abort() |
Bricht eine Anforderung an eine XML-Webdienstmethode ab. (Geerbt von WebClientProtocol) |
| BeginInvoke(String, Object[], AsyncCallback, Object) |
Startet einen asynchronen Aufruf einer XML-Webdienstmethode mithilfe von SOAP. |
| CancelAsync(Object) |
Bricht einen asynchronen Aufruf einer XML-Webdienstmethode ab, es sei denn, der Aufruf wurde bereits abgeschlossen. (Geerbt von HttpWebClientProtocol) |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Discover() |
Bindet dynamisch an einen XML-Webdienst, der im Ermittlungsdokument Urlunter . |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Component. (Geerbt von Component) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. (Geerbt von Component) |
| EndInvoke(IAsyncResult) |
Beendet einen asynchronen Aufruf einer XML-Webdienstmethode mithilfe von SOAP. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetReaderForMessage(SoapClientMessage, Int32) |
Gibt eine XmlReader initialisierte Eigenschaft Stream des SoapClientMessage Parameters zurück. |
| GetService(Type) |
Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird. (Geerbt von Component) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetWebRequest(Uri) |
Erstellt eine WebRequest für die angegebene |
| GetWebResponse(WebRequest, IAsyncResult) |
Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück. (Geerbt von HttpWebClientProtocol) |
| GetWebResponse(WebRequest) |
Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück. (Geerbt von HttpWebClientProtocol) |
| GetWriterForMessage(SoapClientMessage, Int32) |
Gibt eine XmlWriter initialisierte Eigenschaft Stream des SoapClientMessage Parameters zurück. |
| InitializeLifetimeService() |
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| Invoke(String, Object[]) |
Ruft eine XML-Webdienstmethode synchron mithilfe von SOAP auf. |
| InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Ruft die angegebene Methode asynchron auf. |
| InvokeAsync(String, Object[], SendOrPostCallback) |
Ruft die angegebene Methode asynchron auf. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| ToString() |
Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden. (Geerbt von Component) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disposed |
Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird. (Geerbt von Component) |
Gilt für:
Threadsicherheit
Dieser Typ ist threadsicher.