Bagikan melalui


SoapHttpClientProtocol Kelas

Definisi

Menentukan klien kelas yang berasal dari proksi saat menggunakan 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
Warisan
Atribut

Contoh

Contoh kode berikut adalah kelas proksi yang dihasilkan oleh Wsdl.exe untuk Math layanan Web XML. Kelas proksi berasal dari SoapHttpClientProtocol, yang berasal dari kelas abstrak 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

Contoh kode berikut adalah Math layanan Web XML, dari mana kelas proksi sebelumnya dihasilkan.

Penting

Contoh ini memiliki kotak teks yang menerima input pengguna, yang merupakan potensi ancaman keamanan. Secara default, ASP.NET halaman Web memvalidasi bahwa input pengguna tidak menyertakan elemen skrip atau HTML. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.

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

Keterangan

Jika Anda membangun klien layanan Web XML, maka kelas proksi yang berasal secara tidak langsung atau langsung dari WebClientProtocol harus dibuat untuk layanan Web XML. Ketika klien layanan Web XML memanggil menggunakan SOAP, kelas proksi harus berasal dari SoapHttpClientProtocol, yang berasal dari HttpWebClientProtocol. HttpWebClientProtocol, pada gilirannya, berasal dari WebClientProtocol.

Untuk berkomunikasi dengan layanan Web XML, buat kelas proksi yang berasal secara tidak langsung atau langsung dari WebClientProtocol untuk layanan Web XML yang ingin Anda panggil. Alih-alih membuat kelas proksi secara manual, gunakan alat Web Services Description Language (Wsdl.exe) untuk membuat kelas proksi untuk deskripsi layanan web XML tertentu. Ketika kelas proksi dihasilkan untuk protokol SOAP, panggilan sinkron ke metode layanan Web XML dilakukan melalui Invoke metode , sedangkan panggilan asinkron dilakukan menggunakan BeginInvoke metode dan EndInvoke metode .

Catatan Bagi Inheritor

Ketika Anda mengambil alih kelas ini, Anda dapat memperkenalkan metode di kelas turunan yang khusus untuk jenis layanan Web XML tertentu. Metode menangkap parameter dan memanggil kelas dasar untuk melakukan pekerjaan berkomunikasi dengan layanan Web XML. Jika metode yang diperkenalkan asinkron, panggil BeginInvoke(String, Object[], AsyncCallback, Object) metode dan EndInvoke(IAsyncResult) metode . Jika metode yang diperkenalkan sinkron, panggil Invoke(String, Object[]) metode . Konstruktor yang ditimpa Url biasanya mengatur properti ke URL metode layanan Web XML.

Konstruktor

SoapHttpClientProtocol()

Menginisialisasi instans baru kelas SoapHttpClientProtocol.

Properti

AllowAutoRedirect

Mendapatkan atau mengatur apakah klien secara otomatis mengikuti pengalihan server.

(Diperoleh dari HttpWebClientProtocol)
CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
ClientCertificates

Mendapatkan koleksi sertifikat klien.

(Diperoleh dari HttpWebClientProtocol)
ConnectionGroupName

Mendapatkan atau mengatur nama grup koneksi untuk permintaan tersebut.

(Diperoleh dari WebClientProtocol)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
CookieContainer

Mendapatkan atau mengatur koleksi cookie.

(Diperoleh dari HttpWebClientProtocol)
Credentials

Mendapatkan atau mengatur kredensial keamanan untuk autentikasi klien layanan Web XML.

(Diperoleh dari WebClientProtocol)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
EnableDecompression

Mendapatkan atau menetapkan nilai yang menunjukkan apakah dekompresi diaktifkan untuk ini HttpWebClientProtocol.

(Diperoleh dari HttpWebClientProtocol)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
PreAuthenticate

Mendapatkan atau mengatur apakah pra-autentikasi diaktifkan.

(Diperoleh dari WebClientProtocol)
Proxy

Mendapatkan atau mengatur informasi proksi untuk membuat permintaan layanan Web XML melalui firewall.

(Diperoleh dari HttpWebClientProtocol)
RequestEncoding

yang Encoding digunakan untuk membuat permintaan klien ke layanan Web XML.

(Diperoleh dari WebClientProtocol)
Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)
SoapVersion

Mendapatkan atau mengatur versi protokol SOAP yang digunakan untuk membuat permintaan SOAP ke layanan Web XML.

Timeout

Menunjukkan waktu klien layanan Web XML menunggu balasan permintaan layanan Web XML sinkron tiba (dalam milidetik).

(Diperoleh dari WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Mendapatkan atau menetapkan nilai yang menunjukkan apakah berbagi koneksi diaktifkan saat klien menggunakan autentikasi NTLM untuk menyambungkan ke server Web yang menghosting layanan Web XML.

(Diperoleh dari HttpWebClientProtocol)
Url

Mendapatkan atau mengatur URL dasar layanan Web XML yang diminta klien.

(Diperoleh dari WebClientProtocol)
UseDefaultCredentials

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengatur Credentials properti ke nilai DefaultCredentials properti.

(Diperoleh dari WebClientProtocol)
UserAgent

Mendapatkan atau menetapkan nilai untuk header agen pengguna yang dikirim dengan setiap permintaan.

(Diperoleh dari HttpWebClientProtocol)

Metode

Abort()

Membatalkan permintaan ke metode layanan Web XML.

(Diperoleh dari WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Memulai pemanggilan asinkron metode layanan Web XML menggunakan SOAP.

CancelAsync(Object)

Membatalkan panggilan asinkron ke metode layanan Web XML, kecuali panggilan telah selesai.

(Diperoleh dari HttpWebClientProtocol)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Discover()

Secara dinamis mengikat ke layanan Web XML yang dijelaskan dalam dokumen penemuan di Url.

Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh Component dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
EndInvoke(IAsyncResult)

Mengakhiri pemanggilan asinkron metode layanan Web XML menggunakan SOAP.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Mengembalikan yang XmlReader diinisialisasi Stream dengan properti SoapClientMessage parameter .

GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetWebRequest(Uri)

WebRequest Membuat untuk yang ditentukanuri.

GetWebResponse(WebRequest)

Mengembalikan respons dari permintaan sinkron ke metode layanan Web XML.

(Diperoleh dari HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Mengembalikan respons dari permintaan asinkron ke metode layanan Web XML.

(Diperoleh dari HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Mengembalikan yang XmlWriter diinisialisasi Stream dengan properti SoapClientMessage parameter .

InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
Invoke(String, Object[])

Memanggil metode layanan Web XML secara sinkron menggunakan SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Memanggil metode yang ditentukan secara asinkron.

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

Memanggil metode yang ditentukan secara asinkron.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk utas.

Lihat juga