SoapHttpClientProtocol Klass

Definition

Anger den klassklient som proxyservrar härleds från när du använder 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
Arv
Attribut

Exempel

Följande kodexempel är en proxyklass som genereras av Wsdl.exe för Math XML-webbtjänsten. Proxyklassen härleds från SoapHttpClientProtocol, som härleds från den abstrakta WebClientProtocol klassen.

#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

Följande kodexempel är Math XML-webbtjänsten, från vilken den föregående proxyklassen genererades.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

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

Kommentarer

Om du skapar en XML-webbtjänstklient måste en proxyklass som härleds indirekt eller direkt från WebClientProtocol skapas för XML-webbtjänsten. När XML-webbtjänstklienten anropar med SOAP måste proxyklassen härledas från SoapHttpClientProtocol, som härleds från HttpWebClientProtocol. HttpWebClientProtocolhärleds i sin tur från WebClientProtocol.

Om du vill kommunicera med en XML-webbtjänst skapar du en proxyklass som härleds indirekt eller direkt från WebClientProtocol för den XML-webbtjänst som du vill anropa. I stället för att skapa proxyklassen manuellt använder du verktyget Web Services Description Language (Wsdl.exe) för att skapa en proxyklass för en viss XML-webbtjänsts tjänstbeskrivning. När en proxyklass genereras för SOAP-protokollet görs synkrona anrop till XML-webbtjänstmetoder via Invoke metoden, medan asynkrona anrop görs med hjälp av BeginInvoke metoden och EndInvoke metoden.

Anteckningar till arvingar

När du åsidosätter den här klassen kan du introducera metoder i den härledda klassen som är specifika för en viss typ av XML-webbtjänst. Metoderna avbildar parametrarna och anropar basklassen för att utföra arbetet med att kommunicera med XML-webbtjänsten. Om de introducerade metoderna är asynkrona anropar du BeginInvoke(String, Object[], AsyncCallback, Object) metoden och EndInvoke(IAsyncResult) metoden. Om de introducerade metoderna är synkrona anropar du Invoke(String, Object[]) metoden. Den åsidosatta konstruktorn anger Url vanligtvis egenskapen till URL:en för XML-webbtjänstmetoden.

Konstruktorer

Name Description
SoapHttpClientProtocol()

Initierar en ny instans av SoapHttpClientProtocol klassen.

Egenskaper

Name Description
AllowAutoRedirect

Hämtar eller anger om klienten automatiskt följer serveromdirigeringar.

(Ärvd från HttpWebClientProtocol)
CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
ClientCertificates

Hämtar samlingen med klientcertifikat.

(Ärvd från HttpWebClientProtocol)
ConnectionGroupName

Hämtar eller anger namnet på anslutningsgruppen för begäran.

(Ärvd från WebClientProtocol)
Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
CookieContainer

Hämtar eller anger insamling av cookies.

(Ärvd från HttpWebClientProtocol)
Credentials

Hämtar eller anger säkerhetsautentiseringsuppgifter för XML-webbtjänstklientautentisering.

(Ärvd från WebClientProtocol)
DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
EnableDecompression

Hämtar eller anger ett värde som anger om dekomprimering är aktiverat för detta HttpWebClientProtocol.

(Ärvd från HttpWebClientProtocol)
Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
PreAuthenticate

Hämtar eller anger om förautentisering är aktiverat.

(Ärvd från WebClientProtocol)
Proxy

Hämtar eller anger proxyinformation för att göra en XML-webbtjänstbegäran via en brandvägg.

(Ärvd från HttpWebClientProtocol)
RequestEncoding

Används Encoding för att göra klientbegäran till XML-webbtjänsten.

(Ärvd från WebClientProtocol)
Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
SoapVersion

Hämtar eller anger versionen av SOAP-protokollet som används för att göra SOAP-begäran till XML-webbtjänsten.

Timeout

Anger den tid då en XML-webbtjänstklient väntar på att svaret på en synkron XML-webbtjänstbegäran ska tas emot (i millisekunder).

(Ärvd från WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Hämtar eller anger ett värde som anger om anslutningsdelning är aktiverat när klienten använder NTLM-autentisering för att ansluta till den webbserver som är värd för XML-webbtjänsten.

(Ärvd från HttpWebClientProtocol)
Url

Hämtar eller anger bas-URL:en för DEN XML-webbtjänst som klienten begär.

(Ärvd från WebClientProtocol)
UseDefaultCredentials

Hämtar eller anger ett värde som anger om egenskapen ska anges Credentials till egenskapens DefaultCredentials värde.

(Ärvd från WebClientProtocol)
UserAgent

Hämtar eller anger värdet för användaragenthuvudet som skickas med varje begäran.

(Ärvd från HttpWebClientProtocol)

Metoder

Name Description
Abort()

Avbryter en begäran till en XML-webbtjänstmetod.

(Ärvd från WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Startar en asynkron anrop av en XML-webbtjänstmetod med SOAP.

CancelAsync(Object)

Avbryter ett asynkront anrop till en XML-webbtjänstmetod, såvida inte anropet redan har slutförts.

(Ärvd från HttpWebClientProtocol)
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Discover()

Binder dynamiskt till en XML-webbtjänst som beskrivs i identifieringsdokumentet på Url.

Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
EndInvoke(IAsyncResult)

Avslutar en asynkron anrop av en XML-webbtjänstmetod med SOAP.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Returnerar en XmlReader initierad med Stream egenskapen för parametern SoapClientMessage .

GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetWebRequest(Uri)

Skapar en WebRequest för den angivna uri.

GetWebResponse(WebRequest, IAsyncResult)

Returnerar ett svar från en asynkron begäran till en XML-webbtjänstmetod.

(Ärvd från HttpWebClientProtocol)
GetWebResponse(WebRequest)

Returnerar ett svar från en synkron begäran till en XML-webbtjänstmetod.

(Ärvd från HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Returnerar en XmlWriter initierad med Stream egenskapen för parametern SoapClientMessage .

InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
Invoke(String, Object[])

Anropar en XML-webbtjänstmetod synkront med SOAP.

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

Anropar den angivna metoden asynkront.

InvokeAsync(String, Object[], SendOrPostCallback)

Anropar den angivna metoden asynkront.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)

Gäller för

Trådsäkerhet

Den här typen är trådsäker.

Se även