SoapHttpClientProtocol Klasse

Definition

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 abgeleitet von , die von der abstrakten WebClientProtocol Klasse abgeleitet SoapHttpClientProtocolwird.

#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

Im folgenden Codebeispiel handelt es sich um den XML-Webdienst, aus dem die Math vorherige Proxyklasse generiert wurde.

Wichtig

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ 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 mithilfe von SOAP aufruft, muss die Proxyklasse von , die von SoapHttpClientProtocolabgeleitet wird, abgeleitet HttpWebClientProtocolwerden. HttpWebClientProtocol, wiederum abgeleitet von WebClientProtocol.

Um mit einem XML-Webdienst zu kommunizieren, erstellen Sie eine Proxyklasse, die indirekt oder direkt von WebClientProtocol dem 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 an XML-Webdienstmethoden über die Methode vorgenommen, während asynchrone Aufrufe mit der Invoke BeginInvoke Methode und der EndInvoke Methode vorgenommen werden.

Hinweise für Vererber

Wenn Sie diese Klasse außer Kraft setzen, können Sie Methoden in der abgeleiteten Klasse einführen, die speziell 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 Außerkraftsetzungskonstruktor legt in der Regel die Url Eigenschaft auf die URL der XML-Webdienstmethode fest.

Konstruktoren

SoapHttpClientProtocol()

Initialisiert eine neue Instanz der SoapHttpClientProtocol-Klasse.

Eigenschaften

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 Auflistung von Clientzertifikaten ab.

(Geerbt von HttpWebClientProtocol)
ConnectionGroupName

Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest.

(Geerbt von WebClientProtocol)
Container

Ruft die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
CookieContainer

Ruft die Auflistung der Cookies ab oder legt diese fest.

(Geerbt von HttpWebClientProtocol)
Credentials

Ruft Sicherheitsinformationen für die XML-Webdienst-Clientauthentifizierung ab oder legt diese fest.

(Geerbt von WebClientProtocol)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
EnableDecompression

Ruft einen Wert ab, der angibt, ob die Dekomprimierung für dieses HttpWebClientProtocol aktiviert ist, oder legt den Wert fest.

(Geerbt von HttpWebClientProtocol)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
PreAuthenticate

Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist.

(Geerbt von WebClientProtocol)
Proxy

Ruft die Proxyinformationen zum Erstellen einer XML-Webdienstanforderung über einen Firewall ab oder legt sie fest.

(Geerbt von HttpWebClientProtocol)
RequestEncoding

Die Encoding, die für die Clientanforderung an den XML-Webdienst verwendet wird.

(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 ausgeführt wird, oder legt diese fest.

Timeout

Gibt die Zeitspanne an, die ein XML-Webdienstclient auf den Eingang einer Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden).

(Geerbt von WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Freigabe von Verbindungen aktiviert ist, wenn der Client für die Herstellung einer Verbindung mit dem Webserver, auf dem der XML-Webdienst gespeichert ist, die NTLM-Authentifizierung verwendet.

(Geerbt von HttpWebClientProtocol)
Url

Ruft die Basis-URL des vom Client angeforderten XML-Webdiensts ab oder legt sie fest.

(Geerbt von WebClientProtocol)
UseDefaultCredentials

Ruft einen Wert ab, der angibt, ob die Credentials-Eigenschaft auf den Wert der DefaultCredentials-Eigenschaft festgelegt werden soll, oder legt diesen fest.

(Geerbt von WebClientProtocol)
UserAgent

Ruft den mit jeder Anforderung gesendeten Wert für den User-Agent-Header ab oder legt diesen fest.

(Geerbt von HttpWebClientProtocol)

Methoden

Abort()

Bricht eine Anforderung an eine XML-Webdienstmethode ab.

(Geerbt von WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Startet den asynchronen Aufruf einer XML-Webdienstmethode unter Verwendung von SOAP.

CancelAsync(Object)

Bricht einen asynchronen Aufruf der XML-Webdienstmethode ab, es sei denn, der Aufruf ist bereits abgeschlossen.

(Geerbt von HttpWebClientProtocol)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Discover()

Wird dynamisch an einen im Discoverydokument unter Url beschriebenen XML-Webdienst gebunden.

Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
EndInvoke(IAsyncResult)

Beendet den asynchronen Aufruf einer XML-Webdienstmethode unter Verwendung von SOAP.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Gibt einen mit der XmlReader-Eigenschaft des Stream-Parameters initialisierten SoapClientMessage zurück.

GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetWebRequest(Uri)

Erstellt einen WebRequest für das angegebene uri.

GetWebResponse(WebRequest)

Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück.

(Geerbt von HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück.

(Geerbt von HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Gibt einen mit der XmlWriter-Eigenschaft des Stream-Parameters initialisierten SoapClientMessage zurück.

InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
Invoke(String, Object[])

Ruft eine XML-Webdienstmethode unter Verwendung von SOAP synchron auf.

InvokeAsync(String, Object[], SendOrPostCallback)

Ruft die angegebene Methode asynchron auf.

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

Ruft die angegebene Methode asynchron auf.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)

Gilt für

Threadsicherheit

Dieser Typ ist threadsicher.

Siehe auch