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 la clase cliente de la que se derivan los proxies cuando se utiliza el protocolo 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 de 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 datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.
<%@ 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 desea 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 una descripción de servicio web XML determinada. Cuando se genera una clase de proxy para el protocolo SOAP, se realizan llamadas sincrónicas a métodos de servicio web XML 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
SoapHttpClientProtocol() |
Inicializa una nueva instancia de la clase SoapHttpClientProtocol. |
Propiedades
AllowAutoRedirect |
Obtiene o establece si el cliente sigue de forma automática 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 del cliente. (Heredado de HttpWebClientProtocol) |
ConnectionGroupName |
Obtiene o establece el nombre del grupo de conexiones para la solicitud. (Heredado de WebClientProtocol) |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
CookieContainer |
Obtiene o establece la colección de cookies. (Heredado de HttpWebClientProtocol) |
Credentials |
Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML. (Heredado de WebClientProtocol) |
DesignMode |
Obtiene un valor que indica si Component 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 HttpWebClientProtocol. (Heredado de HttpWebClientProtocol) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
PreAuthenticate |
Obtiene o establece si la autenticación previa está habilitada. (Heredado de WebClientProtocol) |
Proxy |
Obtiene o establece la información de proxy necesaria para realizar una solicitud de servicios Web XML a través de un firewall. (Heredado de HttpWebClientProtocol) |
RequestEncoding |
La instancia de Encoding que se utiliza 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 utilizada para realizar la solicitud SOAP al servicio Web XML. |
Timeout |
Indica el tiempo, en milisegundos, que un cliente de servicios Web XML espera a que llegue una respuesta a una solicitud de servicio Web XML sincrónica. (Heredado de WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Obtiene o establece un valor que indica si está habilitada la conexión compartida cuando el cliente utiliza 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 el cliente solicita. (Heredado de WebClientProtocol) |
UseDefaultCredentials |
Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials. (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
Abort() |
Cancela una solicitud a un método de servicios Web XML. (Heredado de WebClientProtocol) |
BeginInvoke(String, Object[], AsyncCallback, Object) |
Inicia una invocación asincrónica de un método de servicios web XML utilizando SOAP. |
CancelAsync(Object) |
Cancela una llamada asincrónica a un método de servicios Web XML, a menos que la llamada ya haya finalizado. (Heredado de HttpWebClientProtocol) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Discover() |
Enlaza dinámicamente con el servicio Web XML descrito en el documento de descubrimiento en Url. |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados. (Heredado de Component) |
EndInvoke(IAsyncResult) |
Finaliza una invocación asincrónica de un método de servicios Web XML utilizando SOAP. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
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 objeto XmlReader inicializado con la propiedad Stream del parámetro SoapClientMessage. |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetWebRequest(Uri) |
Crea un WebRequest para el |
GetWebResponse(WebRequest) |
Devuelve una respuesta de una solicitud sincrónica a un método de servicios Web XML. (Heredado de HttpWebClientProtocol) |
GetWebResponse(WebRequest, IAsyncResult) |
Devuelve una respuesta de una solicitud asincrónica a un método de servicios Web XML. (Heredado de HttpWebClientProtocol) |
GetWriterForMessage(SoapClientMessage, Int32) |
Devuelve un objeto XmlWriter inicializado con la propiedad Stream del parámetro SoapClientMessage. |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
Invoke(String, Object[]) |
Llama a un método de servicios web XML de forma asincrónica utilizando SOAP. |
InvokeAsync(String, Object[], SendOrPostCallback) |
Invoca al método especificado de forma asincrónica. |
InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Invoca al método especificado de forma asincrónica. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
ToString() |
Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
Eventos
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para la ejecución de subprocesos.