SoapHttpClientProtocol Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica el cliente de clase del que derivan los servidores proxy al usar 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
- Herencia
- Atributos
Ejemplos
El ejemplo de código siguiente es una clase de proxy generada por Wsdl.exe para el Math servicio web XML. La clase proxy deriva de SoapHttpClientProtocol, que deriva de la clase abstracta 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
El siguiente ejemplo de código es el Math servicio web XML, desde el que se generó la clase de proxy anterior.
Importante
Este ejemplo tiene un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de script.
<%@ 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
Comentarios
Si va a crear un cliente de servicio web XML, se debe crear una clase de proxy que derive indirectamente o directamente del WebClientProtocol servicio web XML. Cuando el cliente del servicio web XML llama a mediante SOAP, la clase de proxy debe derivar de SoapHttpClientProtocol, que deriva de HttpWebClientProtocol. HttpWebClientProtocol, a su vez, deriva de WebClientProtocol.
Para comunicarse con un servicio web XML, cree una clase de proxy que derive indirectamente o directamente del WebClientProtocol servicio web XML al que quiera llamar. En lugar de crear manualmente la clase de proxy, use la herramienta Lenguaje de descripción de servicios web (Wsdl.exe) para crear una clase de proxy para la descripción del servicio web XML determinada. Cuando se genera una clase de proxy para el protocolo SOAP, las llamadas sincrónicas a los métodos de servicio web XML se realizan a través del Invoke método , mientras que las llamadas asincrónicas se realizan mediante el BeginInvoke método y el EndInvoke método .
Notas a los desarrolladores de herederos
Al invalidar esta clase, puede introducir métodos en la clase derivada que son específicas de un tipo determinado de servicio web XML. Los métodos capturan los parámetros y llaman a la clase base para realizar el trabajo de comunicación con el servicio web XML. Si los métodos introducidos son asincrónicos, llame al BeginInvoke(String, Object[], AsyncCallback, Object) método y al EndInvoke(IAsyncResult) método . Si los métodos introducidos son sincrónicos, llame al Invoke(String, Object[]) método . El constructor invalidado normalmente establece la Url propiedad en la dirección URL del método de servicio web XML.
Constructores
| Nombre | Description |
|---|---|
| SoapHttpClientProtocol() |
Inicializa una nueva instancia de la clase SoapHttpClientProtocol. |
Propiedades
| Nombre | Description |
|---|---|
| AllowAutoRedirect |
Obtiene o establece si el cliente sigue automáticamente las redirecciones del servidor. (Heredado de HttpWebClientProtocol) |
| CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
| ClientCertificates |
Obtiene la colección de certificados de cliente. (Heredado de HttpWebClientProtocol) |
| ConnectionGroupName |
Obtiene o establece el nombre del grupo de conexiones para la solicitud. (Heredado de WebClientProtocol) |
| Container |
Obtiene el IContainer objeto que contiene el Componentobjeto . (Heredado de Component) |
| CookieContainer |
Obtiene o establece la colección de cookies. (Heredado de HttpWebClientProtocol) |
| Credentials |
Obtiene o establece las credenciales de seguridad para la autenticación de cliente del servicio web XML. (Heredado de WebClientProtocol) |
| DesignMode |
Obtiene un valor que indica si Component el objeto está actualmente en modo de diseño. (Heredado de Component) |
| EnableDecompression |
Obtiene o establece un valor que indica si la descompresión está habilitada para este HttpWebClientProtocolobjeto . (Heredado de HttpWebClientProtocol) |
| Events |
Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto . (Heredado de Component) |
| PreAuthenticate |
Obtiene o establece si la autenticación previa está habilitada. (Heredado de WebClientProtocol) |
| Proxy |
Obtiene o establece información de proxy para realizar una solicitud de servicio web XML a través de un firewall. (Heredado de HttpWebClientProtocol) |
| RequestEncoding |
Encoding utilizado para realizar la solicitud de cliente al servicio web XML. (Heredado de WebClientProtocol) |
| Site |
Obtiene o establece ISite de Component. (Heredado de Component) |
| SoapVersion |
Obtiene o establece la versión del protocolo SOAP utilizado para realizar la solicitud SOAP al servicio web XML. |
| Timeout |
Indica la hora en que un cliente de servicio web XML espera a que llegue la respuesta a una solicitud de servicio web XML sincrónica (en milisegundos). (Heredado de WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Obtiene o establece un valor que indica si el uso compartido de conexiones está habilitado cuando el cliente usa la autenticación NTLM para conectarse al servidor web que hospeda el servicio web XML. (Heredado de HttpWebClientProtocol) |
| Url |
Obtiene o establece la dirección URL base del servicio web XML que solicita el cliente. (Heredado de WebClientProtocol) |
| UseDefaultCredentials |
Obtiene o establece un valor que indica si se va a establecer la Credentials propiedad en el valor de la DefaultCredentials propiedad . (Heredado de WebClientProtocol) |
| UserAgent |
Obtiene o establece el valor del encabezado del agente de usuario que se envía con cada solicitud. (Heredado de HttpWebClientProtocol) |
Métodos
| Nombre | Description |
|---|---|
| Abort() |
Cancela una solicitud a un método de servicio web XML. (Heredado de WebClientProtocol) |
| BeginInvoke(String, Object[], AsyncCallback, Object) |
Inicia una invocación asincrónica de un método de servicio web XML mediante SOAP. |
| CancelAsync(Object) |
Cancela una llamada asincrónica a un método de servicio web XML, a menos que la llamada ya se haya completado. (Heredado de HttpWebClientProtocol) |
| CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
| Discover() |
Enlaza dinámicamente a un servicio web XML descrito en el documento de detección en Url. |
| Dispose() |
Libera todos los recursos usados por .Component (Heredado de Component) |
| Dispose(Boolean) |
Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados. (Heredado de Component) |
| EndInvoke(IAsyncResult) |
Finaliza una invocación asincrónica de un método de servicio web XML mediante SOAP. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetLifetimeService() |
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
| GetReaderForMessage(SoapClientMessage, Int32) |
Devuelve un XmlReader objeto inicializado con la Stream propiedad del SoapClientMessage parámetro . |
| GetService(Type) |
Devuelve un objeto que representa un servicio proporcionado por Component o por su Container. (Heredado de Component) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| GetWebRequest(Uri) |
Crea un WebRequest para el objeto especificado |
| GetWebResponse(WebRequest, IAsyncResult) |
Devuelve una respuesta de una solicitud asincrónica a un método de servicio web XML. (Heredado de HttpWebClientProtocol) |
| GetWebResponse(WebRequest) |
Devuelve una respuesta de una solicitud sincrónica a un método de servicio web XML. (Heredado de HttpWebClientProtocol) |
| GetWriterForMessage(SoapClientMessage, Int32) |
Devuelve un XmlWriter objeto inicializado con la Stream propiedad del SoapClientMessage parámetro . |
| InitializeLifetimeService() |
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
| Invoke(String, Object[]) |
Invoca un método de servicio web XML de forma sincrónica mediante SOAP. |
| InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Invoca el método especificado de forma asincrónica. |
| InvokeAsync(String, Object[], SendOrPostCallback) |
Invoca el método especificado de forma asincrónica. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficial del objeto actual MarshalByRefObject . (Heredado de MarshalByRefObject) |
| ToString() |
Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
Eventos
| Nombre | Description |
|---|---|
| Disposed |
Se produce cuando el componente se elimina mediante una llamada al Dispose() método . (Heredado de Component) |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para subprocesos.