Udostępnij za pośrednictwem


SoapHttpClientProtocol Klasa

Definicja

Określa klienta klasy, z którego pochodzą serwery proxy podczas korzystania z protokołu 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
Dziedziczenie
Atrybuty

Przykłady

Poniższy przykład kodu to klasa serwera proxy wygenerowana przez Wsdl.exe dla Math usługi sieci Web XML. Klasa serwera proxy pochodzi z SoapHttpClientProtocolklasy , która pochodzi z klasy abstrakcyjnej 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

Poniższy przykład kodu to Math usługa sieci Web XML, z której została wygenerowana poprzednia klasa serwera proxy.

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).

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

Uwagi

Jeśli tworzysz klienta usługi sieci Web XML, należy utworzyć klasę serwera proxy, która pochodzi pośrednio lub bezpośrednio z WebClientProtocol usługi sieci Web XML. Gdy klient usługi sieci Web XML wywołuje metodę przy użyciu protokołu SOAP, klasa serwera proxy musi pochodzić z SoapHttpClientProtocolklasy , która pochodzi z HttpWebClientProtocolklasy . HttpWebClientProtocol, z kolei pochodzi z klasy WebClientProtocol.

Aby komunikować się z usługą sieci Web XML, utwórz klasę serwera proxy, która pochodzi pośrednio lub bezpośrednio z WebClientProtocol usługi sieci Web XML, którą chcesz wywołać. Zamiast ręcznie tworzyć klasę serwera proxy, użyj narzędzia Web Services Description Language (Wsdl.exe), aby utworzyć klasę serwera proxy dla opisu usługi sieci Web XML. Gdy klasa serwera proxy jest generowana dla protokołu SOAP, synchroniczne wywołania metod usługi sieci Web XML są wykonywane za pośrednictwem Invoke metody , podczas gdy wywołania asynchroniczne są wykonywane przy użyciu BeginInvoke metody i EndInvoke metody .

Uwagi dotyczące dziedziczenia

Po zastąpieniu tej klasy można wprowadzić metody w klasie pochodnej, które są specyficzne dla określonego typu usługi sieci Web XML. Metody przechwytują parametry i wywołają klasę bazową, aby wykonać pracę komunikacji z usługą sieci Web XML. Jeśli wprowadzone metody są asynchroniczne, wywołaj metodę BeginInvoke(String, Object[], AsyncCallback, Object) i metodę EndInvoke(IAsyncResult) . Jeśli wprowadzone metody są synchroniczne, wywołaj metodę Invoke(String, Object[]) . Konstruktor zastępowany zazwyczaj ustawia Url właściwość na adres URL metody usługi sieci Web XML.

Konstruktory

SoapHttpClientProtocol()

Inicjuje nowe wystąpienie klasy SoapHttpClientProtocol.

Właściwości

AllowAutoRedirect

Pobiera lub ustawia, czy klient automatycznie następuje przekierowania serwera.

(Odziedziczone po HttpWebClientProtocol)
CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
ClientCertificates

Pobiera kolekcję certyfikatów klienta.

(Odziedziczone po HttpWebClientProtocol)
ConnectionGroupName

Pobiera lub ustawia nazwę grupy połączeń dla żądania.

(Odziedziczone po WebClientProtocol)
Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
CookieContainer

Pobiera lub ustawia kolekcję plików cookie.

(Odziedziczone po HttpWebClientProtocol)
Credentials

Pobiera lub ustawia poświadczenia zabezpieczeń dla uwierzytelniania klienta usługi sieci Web XML.

(Odziedziczone po WebClientProtocol)
DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
EnableDecompression

Pobiera lub ustawia wartość wskazującą, czy dekompresja jest włączona dla tego HttpWebClientProtocolelementu .

(Odziedziczone po HttpWebClientProtocol)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
PreAuthenticate

Pobiera lub ustawia, czy jest włączone wstępne uwierzytelnianie.

(Odziedziczone po WebClientProtocol)
Proxy

Pobiera lub ustawia informacje o serwerze proxy na potrzeby tworzenia żądania usługi sieci Web XML przez zaporę.

(Odziedziczone po HttpWebClientProtocol)
RequestEncoding

Element Encoding używany do żądania klienta do usługi sieci Web XML.

(Odziedziczone po WebClientProtocol)
Site

Pobiera lub ustawia wartość ISite .Component

(Odziedziczone po Component)
SoapVersion

Pobiera lub ustawia wersję protokołu SOAP używanego do żądania PROTOKOŁU SOAP do usługi sieci Web XML.

Timeout

Wskazuje czas oczekiwania klienta usługi sieci Web XML na odebranie synchronicznego żądania usługi sieci Web XML (w milisekundach).

(Odziedziczone po WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Pobiera lub ustawia wartość wskazującą, czy udostępnianie połączeń jest włączone, gdy klient korzysta z uwierzytelniania NTLM w celu nawiązania połączenia z serwerem sieci Web, który hostuje usługę sieci Web XML.

(Odziedziczone po HttpWebClientProtocol)
Url

Pobiera lub ustawia podstawowy adres URL usługi sieci Web XML, o który żąda klient.

(Odziedziczone po WebClientProtocol)
UseDefaultCredentials

Pobiera lub ustawia wartość wskazującą, czy właściwość ma być ustawiona Credentials na wartość DefaultCredentials właściwości.

(Odziedziczone po WebClientProtocol)
UserAgent

Pobiera lub ustawia wartość nagłówka agenta użytkownika, który jest wysyłany z każdym żądaniem.

(Odziedziczone po HttpWebClientProtocol)

Metody

Abort()

Anuluje żądanie do metody usługi sieci Web XML.

(Odziedziczone po WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Uruchamia asynchroniczne wywołanie metody usługi sieci Web XML przy użyciu protokołu SOAP.

CancelAsync(Object)

Anuluje asynchroniczne wywołanie metody usługi sieci Web XML, chyba że wywołanie zostało już ukończone.

(Odziedziczone po HttpWebClientProtocol)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Discover()

Dynamicznie wiąże się z usługą sieci Web XML opisaną w dokumencie odnajdywania pod adresem Url.

Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
EndInvoke(IAsyncResult)

Kończy asynchroniczne wywołanie metody usługi sieci Web XML przy użyciu protokołu SOAP.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Zwraca zainicjowany XmlReader element z Stream właściwością parametru SoapClientMessage .

GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container.

(Odziedziczone po Component)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetWebRequest(Uri)

Tworzy element WebRequest dla określonego urielementu .

GetWebResponse(WebRequest)

Zwraca odpowiedź z synchronicznego żądania do metody usługi sieci Web XML.

(Odziedziczone po HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Zwraca odpowiedź z asynchronicznego żądania do metody usługi sieci Web XML.

(Odziedziczone po HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Zwraca zainicjowany XmlWriter z właściwością Stream parametru SoapClientMessage .

InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
Invoke(String, Object[])

Wywołuje metodę usługi sieci Web XML synchronicznie przy użyciu protokołu SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Wywołuje określoną metodę asynchronicznie.

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

Wywołuje określoną metodę asynchronicznie.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.

Zobacz też