SoapHttpClientProtocol Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| 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.