Aracılığıyla paylaş


SoapHttpClientProtocol Sınıf

Tanım

SOAP kullanırken ara sunucuların türetilen sınıf istemcisini belirtir.

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
Devralma
Öznitelikler

Örnekler

Aşağıdaki kod örneği, XML Web hizmeti için Math Wsdl.exe tarafından oluşturulan bir ara sunucu sınıfıdır. Proxy sınıfı soyut WebClientProtocol sınıfından SoapHttpClientProtocoltüretilen öğesinden türetilir.

#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

Aşağıdaki kod örneği Math , önceki ara sunucu sınıfının oluşturulduğu XML Web hizmetidir.

Önemli

Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.

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

Açıklamalar

XML Web hizmeti istemcisi oluşturuyorsanız, XML Web hizmeti için dolaylı veya doğrudan türetilen WebClientProtocol bir ara sunucu sınıfı oluşturulmalıdır. XML Web hizmeti istemcisi SOAP kullanarak çağırdığında, ara sunucu sınıfı öğesinden SoapHttpClientProtocoltüretilen öğesinden HttpWebClientProtocoltüretilmelidir. HttpWebClientProtocol,'den de türetilir WebClientProtocol.

XML Web hizmetiyle iletişim kurmak için, çağırmak istediğiniz XML Web hizmeti için dolaylı olarak veya doğrudan öğesinden WebClientProtocol türetilen bir ara sunucu sınıfı oluşturun. Proxy sınıfını el ile oluşturmak yerine Web Hizmetleri Açıklama Dili aracını (Wsdl.exe) kullanarak belirli bir XML Web hizmetinin hizmet açıklaması için ara sunucu sınıfı oluşturun. SOAP protokolü için bir ara sunucu sınıfı oluşturulduğunda, XML Web hizmeti yöntemlerine zaman uyumlu çağrılar yöntemi aracılığıyla Invoke yapılırken, zaman uyumsuz çağrılar yöntemi ve EndInvoke yöntemi kullanılarak BeginInvoke yapılır.

Devralanlara Notlar

Bu sınıfı geçersiz kıldığınızda, türetilmiş sınıfta belirli bir XML Web hizmeti türüne özgü yöntemler ekleyebilirsiniz. Yöntemler, XML Web hizmetiyle iletişim kurma işini yapmak için parametreleri yakalar ve temel sınıfı çağırır. Tanıtılan yöntemler zaman uyumsuzsa yöntemini ve yöntemini çağırın BeginInvoke(String, Object[], AsyncCallback, Object)EndInvoke(IAsyncResult) . Tanıtılan yöntemler zaman uyumluysa yöntemini çağırın Invoke(String, Object[]) . Geçersiz kılınan oluşturucu genellikle özelliğini XML Web hizmeti yönteminin URL'sine ayarlar Url .

Oluşturucular

SoapHttpClientProtocol()

SoapHttpClientProtocol sınıfının yeni bir örneğini başlatır.

Özellikler

AllowAutoRedirect

İstemcinin sunucu yeniden yönlendirmelerini otomatik olarak takip edip etmediğini alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)
CanRaiseEvents

Bileşenin bir olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
ClientCertificates

İstemci sertifikaları koleksiyonunu alır.

(Devralındığı yer: HttpWebClientProtocol)
ConnectionGroupName

İstek için bağlantı grubunun adını alır veya ayarlar.

(Devralındığı yer: WebClientProtocol)
Container

öğesini IContainer içeren öğesini Componentalır.

(Devralındığı yer: Component)
CookieContainer

Tanımlama bilgileri koleksiyonunu alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)
Credentials

XML Web hizmeti istemci kimlik doğrulaması için güvenlik kimlik bilgilerini alır veya ayarlar.

(Devralındığı yer: WebClientProtocol)
DesignMode

öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır.

(Devralındığı yer: Component)
EnableDecompression

Bu HttpWebClientProtocoliçin açmanın etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)
Events

Bu Componentöğesine eklenen olay işleyicilerinin listesini alır.

(Devralındığı yer: Component)
PreAuthenticate

Ön kimlik doğrulamasının etkinleştirilip etkinleştirilmediğini alır veya ayarlar.

(Devralındığı yer: WebClientProtocol)
Proxy

Güvenlik duvarı üzerinden XML Web hizmeti isteği yapmak için ara sunucu bilgilerini alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)
RequestEncoding

Encoding XML Web hizmetine istemci isteğinde bulunmak için kullanılır.

(Devralındığı yer: WebClientProtocol)
Site

öğesini alır veya ayarlar ISiteComponent.

(Devralındığı yer: Component)
SoapVersion

XML Web hizmetine SOAP isteğinde bulunmak için kullanılan SOAP protokolünün sürümünü alır veya ayarlar.

Timeout

XML Web hizmeti istemcisinin zaman uyumlu XML Web hizmeti isteğinin yanıtlanmasını beklediği süreyi gösterir (milisaniye cinsinden).

(Devralındığı yer: WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

İstemci, XML Web hizmetini barındıran Web sunucusuna bağlanmak için NTLM kimlik doğrulamasını kullandığında bağlantı paylaşımının etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)
Url

İstemcinin istediği XML Web hizmetinin temel URL'sini alır veya ayarlar.

(Devralındığı yer: WebClientProtocol)
UseDefaultCredentials

Özelliğin özelliğinin değerine ayarlanıp ayarlanmayacağını Credentials belirten bir değer DefaultCredentials alır veya ayarlar.

(Devralındığı yer: WebClientProtocol)
UserAgent

Her istekle birlikte gönderilen kullanıcı aracısı üst bilgisinin değerini alır veya ayarlar.

(Devralındığı yer: HttpWebClientProtocol)

Yöntemler

Abort()

XML Web hizmeti yöntemine yönelik isteği iptal eder.

(Devralındığı yer: WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

SOAP kullanarak bir XML Web hizmeti yönteminin zaman uyumsuz çağrısını başlatır.

CancelAsync(Object)

Çağrı zaten tamamlanmadığı sürece XML Web hizmeti yöntemine yönelik zaman uyumsuz çağrıyı iptal eder.

(Devralındığı yer: HttpWebClientProtocol)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Discover()

konumundaki bulma belgesinde Urlaçıklanan bir XML Web hizmetine dinamik olarak bağlanır.

Dispose()

Component tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: Component)
EndInvoke(IAsyncResult)

SOAP kullanarak XML Web hizmeti yönteminin zaman uyumsuz çağrısını sonlandırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

parametresinin StreamSoapClientMessage özelliğiyle başlatılan bir XmlReader döndürür.

GetService(Type)

veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür.

(Devralındığı yer: Component)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetWebRequest(Uri)

Belirtilen uriiçin bir WebRequest oluşturur.

GetWebResponse(WebRequest)

Xml Web hizmeti yöntemine zaman uyumlu istekten bir yanıt döndürür.

(Devralındığı yer: HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Xml Web hizmeti yöntemine zaman uyumsuz istekten bir yanıt döndürür.

(Devralındığı yer: HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

parametresinin StreamSoapClientMessage özelliğiyle başlatılan bir XmlWriter döndürür.

InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
Invoke(String, Object[])

SOAP kullanarak bir XML Web hizmeti yöntemini zaman uyumlu olarak çağırır.

InvokeAsync(String, Object[], SendOrPostCallback)

Belirtilen yöntemi zaman uyumsuz olarak çağırır.

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

Belirtilen yöntemi zaman uyumsuz olarak çağırır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

Varsa, adını Componentiçeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır.

(Devralındığı yer: Component)

Ekinlikler

Disposed

Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir.

(Devralındığı yer: Component)

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu güvenli iş parçacığı türüdür.

Ayrıca bkz.