SoapHttpClientProtocol Klas

Definitie

Hiermee geeft u de klasseclient op waaruit proxy's zijn afgeleid bij het gebruik van 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
Overname
Kenmerken

Voorbeelden

Het volgende codevoorbeeld is een proxyklasse die wordt gegenereerd door Wsdl.exe voor de Math XML-webservice. De proxyklasse is afgeleid van SoapHttpClientProtocol, die is afgeleid van de abstracte WebClientProtocol klasse.

#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

Het volgende codevoorbeeld is de Math XML-webservice, waaruit de voorgaande proxyklasse is gegenereerd.

Important

Dit voorbeeld heeft een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

<%@ 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

Opmerkingen

Als u een XML-webserviceclient bouwt, moet er een proxyklasse worden gemaakt die indirect of rechtstreeks is WebClientProtocol afgeleid voor de XML-webservice. Wanneer de XML-webserviceclient aanroept met SOAP, moet de proxyklasse zijn afgeleid van SoapHttpClientProtocol, die is afgeleid van HttpWebClientProtocol. HttpWebClientProtocol, op zijn beurt afgeleid van WebClientProtocol.

Als u wilt communiceren met een XML-webservice, maakt u een proxyklasse die indirect of rechtstreeks is afgeleid van WebClientProtocol de XML-webservice die u wilt aanroepen. In plaats van de proxyklasse handmatig te maken, gebruikt u het hulpprogramma Beschrijvingstaal voor webservices (Wsdl.exe) om een proxyklasse te maken voor de servicebeschrijving van een bepaalde XML-webservice. Wanneer een proxyklasse wordt gegenereerd voor het SOAP-protocol, worden synchrone aanroepen naar XML-webservicemethoden uitgevoerd via de Invoke methode, terwijl asynchrone aanroepen worden gedaan met behulp van de BeginInvoke methode en de EndInvoke methode.

Notities voor overnemers

Wanneer u deze klasse overschrijft, kunt u methoden introduceren in de afgeleide klasse die specifiek zijn voor een bepaald type XML-webservice. De methoden leggen de parameters vast en roepen de basisklasse aan om te communiceren met de XML-webservice. Als de geïntroduceerde methoden asynchroon zijn, roept u de BeginInvoke(String, Object[], AsyncCallback, Object) methode en de EndInvoke(IAsyncResult) methode aan. Als de geïntroduceerde methoden synchroon zijn, roept u de Invoke(String, Object[]) methode aan. De overschreven constructor stelt doorgaans de Url eigenschap in op de URL van de XML-webservicemethode.

Constructors

Name Description
SoapHttpClientProtocol()

Initialiseert een nieuw exemplaar van de SoapHttpClientProtocol klasse.

Eigenschappen

Name Description
AllowAutoRedirect

Hiermee wordt opgehaald of ingesteld of de client automatisch serveromleidingen volgt.

(Overgenomen van HttpWebClientProtocol)
CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
ClientCertificates

Hiermee haalt u de verzameling clientcertificaten op.

(Overgenomen van HttpWebClientProtocol)
ConnectionGroupName

Hiermee haalt u de naam van de verbindingsgroep voor de aanvraag op of stelt u deze in.

(Overgenomen van WebClientProtocol)
Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
CookieContainer

Hiermee haalt u de verzameling cookies op of stelt u deze in.

(Overgenomen van HttpWebClientProtocol)
Credentials

Hiermee haalt u beveiligingsreferenties op voor clientverificatie van xml-webservices of stelt u deze in.

(Overgenomen van WebClientProtocol)
DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
EnableDecompression

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of decompressie hiervoor is ingeschakeld HttpWebClientProtocol.

(Overgenomen van HttpWebClientProtocol)
Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
PreAuthenticate

Hiermee haalt u op of stelt u in of verificatie vooraf is ingeschakeld.

(Overgenomen van WebClientProtocol)
Proxy

Hiermee haalt u proxygegevens op voor het maken van een XML-webserviceaanvraag via een firewall.

(Overgenomen van HttpWebClientProtocol)
RequestEncoding

Hiermee Encoding wordt de clientaanvraag naar de XML-webservice verzonden.

(Overgenomen van WebClientProtocol)
Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)
SoapVersion

Hiermee haalt u de versie op van het SOAP-protocol dat wordt gebruikt om de SOAP-aanvraag naar de XML-webservice te verzenden.

Timeout

Geeft de tijd aan waarop een XML-webserviceclient wacht tot het antwoord op een synchrone XML-webserviceaanvraag binnenkomt (in milliseconden).

(Overgenomen van WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of delen van verbindingen is ingeschakeld wanneer de client NTLM-verificatie gebruikt om verbinding te maken met de webserver die als host fungeert voor de XML-webservice.

(Overgenomen van HttpWebClientProtocol)
Url

Haalt de basis-URL van de XML-webservice op die de client aanvraagt of stelt deze in.

(Overgenomen van WebClientProtocol)
UseDefaultCredentials

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Credentials eigenschap moet worden ingesteld op de waarde van de DefaultCredentials eigenschap.

(Overgenomen van WebClientProtocol)
UserAgent

Hiermee wordt de waarde opgehaald of ingesteld voor de header van de gebruikersagent die bij elke aanvraag wordt verzonden.

(Overgenomen van HttpWebClientProtocol)

Methoden

Name Description
Abort()

Hiermee annuleert u een aanvraag naar een XML-webservicemethode.

(Overgenomen van WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Hiermee start u een asynchrone aanroep van een XML-webservicemethode met behulp van SOAP.

CancelAsync(Object)

Annuleert een asynchrone aanroep naar een XML-webservicemethode, tenzij de aanroep al is voltooid.

(Overgenomen van HttpWebClientProtocol)
CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Discover()

Dynamisch wordt gekoppeld aan een XML-webservice die wordt beschreven in het detectiedocument op Url.

Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van Component)
EndInvoke(IAsyncResult)

Hiermee beëindigt u een asynchrone aanroep van een XML-webservicemethode met behulp van SOAP.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Retourneert een XmlReader geïnitialiseerd met de Stream eigenschap van de SoapClientMessage parameter.

GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetWebRequest(Uri)

Hiermee maakt u een WebRequest voor de opgegeven uri.

GetWebResponse(WebRequest, IAsyncResult)

Retourneert een antwoord van een asynchrone aanvraag naar een XML-webservicemethode.

(Overgenomen van HttpWebClientProtocol)
GetWebResponse(WebRequest)

Retourneert een antwoord van een synchrone aanvraag naar een XML-webservicemethode.

(Overgenomen van HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Retourneert een XmlWriter geïnitialiseerd met de Stream eigenschap van de SoapClientMessage parameter.

InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
Invoke(String, Object[])

Roept een XML-webservicemethode synchroon aan met behulp van SOAP.

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

Roept de opgegeven methode asynchroon aan.

InvokeAsync(String, Object[], SendOrPostCallback)

Roept de opgegeven methode asynchroon aan.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
ToString()

Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven.

(Overgenomen van Component)

gebeurtenis

Name Description
Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)

Van toepassing op

Veiligheid thread

Dit type is thread veilig.

Zie ook